gpt4 book ai didi

c# - LINQ to Entities 无法识别方法 'System.String ToString()' 方法,并且无法将此方法翻译成存储表达式

转载 作者:行者123 更新时间:2023-12-02 22:18:01 35 4
gpt4 key购买 nike

我的 asp.net mvc 应用程序中有以下 View :-

 @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 应用程序时,我在 View 中遇到了以下不清楚的错误:-

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>

最佳答案

使用SqlFunctions.StringConvert方法而不是 ToString(无法转换为 SQL):

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

如果 EMAILID 不是 double 或十进制,则只需将值转换为其中一种类型。

关于c# - LINQ to Entities 无法识别方法 'System.String ToString()' 方法,并且无法将此方法翻译成存储表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149736/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com