رفع خطای 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 استفاده کنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟
 
                         
                         
                        