簡體   English   中英

linq c# 無法創建“”類型的常量值。 在此上下文中僅支持原始類型或枚舉類型

[英]linq c# Unable to create a constant value of type ''. Only primitive types or enumeration types are supported in this context

所以我有一個列表,我想加入數據庫中的一個表。

我收到錯誤無法創建類型的常量值,我做錯了什么?

List<info.user> studyAccessList = new List<info.User>();

using (var Db = new Entities())
{
    //get users from USER table
    var UserDbQry = (from data in Db.USER
                    where data.System == "something" & data.Active == true
                    select data);
    

    //outer join 
    var joinQry = 
        from s1 in UserDbQry
        join t2 in studyAccessList
        on new
        {
           Study = s1.Study,
           Email = s1.Email
        }
        equals new
        {
           Study = t2.Study,
           Email = t2.Email
        }
        into rs
        from r in rs.DefaultIfEmpty()
        //where r == null
        select s1;

    foreach (var inactiveUser in joinQry)
    {
        //add tag for system.
        //create xml 
        string xml = String.Format("<User><Study>{0}</Study><Email>{1}</Email><Active>false</Active></User>", inactiveUser.Study, inactiveUser.Email);
        recordCount = recordCount + ProcessXml(wsu, xml, log.ErrorMsgPrefix);
    }
}

我需要將第一個查詢更改為一個列表,然后第二個查詢才能獲取它。

//get users from USER table
var UserDbQry = (from data in Db.USER
                where data.System == "something" & data.Active == true
                select data).ToList;

//outer join 
var joinQry = 
from s1 in UserDbQry
join t2 in studyAccessList
on new
{
   Study = s1.Study,
   Email = s1.Email
}
equals new
{
   Study = t2.Study,
   Email = t2.Email
}
into rs
from r in rs.DefaultIfEmpty()
//where r == null
select s1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM