رفع خطای Cannot convert from int to anonymoustype int
پروژه از نوع Asp.net core هست و میخوام کویری زیر رو اجرا کنم
var userPolicy = _context.userRoleUW.Get(c => c.UserId == userId)
.Select(uc => new { uc.PolicyID }).Distinct().ToList();
////////////////////
var ListPolicy = _context.policyAccessUW.Get(p =>
userPolicy.Contains(p.PolicyID)).ToList();
در بخش اول یک لیستی از PolicyID ها رو میخوام بدست بیارم و سپس در کویری دوم از جدول Policy یک Select اجرا کنم و لیست ردیف هایی که اون ID رو دارن رو بدست بیارم ولی با خطای زیر روبرو میشم.
Severity Code Description Project File Line Suppression State
Error CS1503 Argument 1: cannot convert from 'int' to '<anonymous type: int PolicyID>'
پاسخ هوش مصنوعی
برای رفع خطای "Cannot convert from int to anonymous type" که به دلیل تلاش برای استفاده از یک متغیر نوع ناشناس (anonymous type) به عنوان کلید در متد `Contains` رخ می دهد، می توانید به سادگی لیستی از مقادیر `PolicyID` را به دست آورید.
در بخش اول می توانید به صورت زیر کد خود را اصلاح کنید:
var userPolicy = _context.userRoleUW
.Where(c => c.UserId == userId)
.Select(uc => uc.PolicyID)
.Distinct()
.ToList();
سپس در بخش دوم، از لیست `userPolicy` که حالا تنها شامل مقادیر `PolicyID` است، استفاده کنید:
var ListPolicy = _context.policyAccessUW
.Where(p => userPolicy.Contains(p.PolicyID))
.ToList();
با استفاده از این تغییرات، کد شما باید بدون خطا اجرا شود و لیست ردیف هایی که در جدول Policy دارای ID های مورد نظر هستند را بازیابی خواهد کرد.
شما از یک anonymousType استفاده کردید و بعد اومدید با یک مقدار از نوع int مقایسه کردید. کد خودتون رو به صورت زیر تغییر بدید درست میشه
var userPolicy = (from UR in _context.UserRoles where (UR.UserId == userId) select new { UR.PolicyID });
var ListPolicy = (from pl in _context.Policy_Tbl where (userPolicy.Any(u => u.PolicyID == pl.PolicyID)) select new { id = pl.PolicyID, pname = pl.PolicyName }).ToList();
در واقع باید در قسمتی که میخواید مقایسه رو هم انجام بدید از یک anonymousType استفاده کنید.
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟