LINQ to Entities不能识别'System方法.字符串ToString () & # 39;方法,并

本文关键字:方法 ToString System Entities to 不能 识别 LINQ 字符串 | 更新日期: 2023-09-27 17:50:41

我有以下视图在我的asp.net mvc应用程序:-

 @model MvcApplication4.Models.ContactsDetails
     <h3>Select Contacts Detials</h3>
    <p class="dashboarder" style = "color:#5c87b2"><strong>@Model.Info.Count()</strong> Selected Customers Accounts.</p>
    @using (Html.BeginForm("Export", null))
    {
        Int32 c = -1;
        <table>
            <tr>
                <th>
                    Account Name @Html.CheckBox("IncludeAccountName", true)
                </th>
                <th>
                    Name @Html.CheckBox("IncludeName", true)
                </th>

,使用以下操作方法填充:-

public ActionResult CustomersDetails(long[] SelectRight)
{
    if (SelectRight == null)
    {
        return RedirectToAction("customer", new { isError = true });
    }
    else
    {
        var ContactsDetails2 = new ContactsDetails
        {
            Info = r.getcontactinfo(SelectRight)
        };
        return View(ContactsDetails2);
    }          

}

,然后是下面的存储库方法:-

public IEnumerable<AaaUserContactInfo> getcontactinfo(long[] id)
{
    var organizationNames = entities.SDOrganizations
                   .Where(org => id.Contains(org.ORG_ID))
                   .Select(org => org.NAME);

    var result = from userContactInfo in entities.AaaUserContactInfoes
                 join contactInfo in entities.AaaContactInfoes on userContactInfo.CONTACTINFO_ID equals contactInfo.CONTACTINFO_ID
                 where organizationNames.Contains(contactInfo.EMAILID.ToString())
                 select userContactInfo;
    return result;

但是当我运行mu应用程序时,我在视图上得到了以下不清楚的错误:-

LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.
-
<strong>@Model.Info.Count()</strong>

LINQ to Entities不能识别'System方法.字符串ToString () & # 39;方法,并

使用SqlFunctions.StringConvert方法代替ToString(不能转换为SQL):

where organizationNames.Contains(SqlFunctions.StringConvert(contactInfo.EMAILID))

如果EMAILID不是双精度或十进制,则直接将value转换为其中一种类型