gpt4 book ai didi

asp.net - Entity Framework : Specified method is not supported

转载 作者:行者123 更新时间:2023-11-30 01:36:00 27 4
gpt4 key购买 nike

代码:

List<MemberClass> Members = myEntity.users
.Where(xXx => xXx.Status == m_Status && xXx.CompanyRef != m_CompanyRef
&& xXx.userconfigs.FirstOrDefault().IsPublicProfile == true)
.Select(xXx => new MemberClass {
Username = xXx.Username,
FullName = xXx.Name + " " + xXx.Surname,
Name = xXx.Name,
Surname = xXx.Surname,
AccessName = xXx.useraccess.Name,
RID = xXx.RID,
Email = xXx.Email }).ToList();

异常(exception):

System.Data.EntityCommandCompilationException was unhandled by user code HResult=-2146232005 Message=An error occurred while preparing the command definition. See the inner exception for details.
Source=System.Data.Entity StackTrace:
at System.Data.EntityClient.EntityCommandDefinition..ctor(DbProviderFactory storeProviderFactory, DbCommandTree commandTree)
at System.Data.EntityClient.EntityProviderServices.CreateCommandDefinition(DbProviderFactory storeProviderFactory, DbCommandTree commandTree)
at System.Data.EntityClient.EntityProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree)
at System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Prepare(ObjectContext context, DbQueryCommandTree tree, Type elementType, MergeOption mergeOption, Span span, ReadOnlyCollection1 compiledQueryParameters, AliasGenerator aliasGenerator)
at System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable1 forMergeOption)
at System.Data.Objects.ObjectQuery1.GetResults(Nullable1 forMergeOption)
at System.Data.Objects.ObjectQuery1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
at MemberHelper.MemberHelperDB.getExternalMemberList(Decimal m_CompanyRef, Decimal m_Status) in c:\Users\Dreamcatcher\Documents\Visual Studio 2010\SVN Projects\OZTranV4\OZTranV4\App_Code\Helper\MemberHelperDB.cs:line 54
at popup_AddMemberToWork2.gridExternalUser_NeedDataSource(Object sender, GridNeedDataSourceEventArgs e) in c:\Users\Dreamcatcher\Documents\Visual Studio 2010\SVN Projects\OZTranV4\OZTranV4\popup\AddMemberToWork2.aspx.cs:line 157
at Telerik.Web.UI.RadGrid.OnNeedDataSource(GridNeedDataSourceEventArgs e)
at Telerik.Web.UI.RadGrid.ObtainDataSource(GridRebindReason rebindReason, Boolean IsBoundUsingDataSourceId)
at Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason)
at Telerik.Web.UI.RadGrid.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException: System.NotSupportedException HResult=-2146233067 Message=Specified method is not supported. Source=MySql.Data.Entity StackTrace:
at MySql.Data.Entity.SqlGenerator.Visit(DbApplyExpression expression)
at System.Data.Common.CommandTrees.DbApplyExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at MySql.Data.Entity.SqlGenerator.VisitInputExpression(DbExpression e, String name, TypeUsage type)
at MySql.Data.Entity.SelectGenerator.HandleJoinExpression(DbExpressionBinding left, DbExpressionBinding right, DbExpressionKind joinType, DbExpression joinCondition)
at MySql.Data.Entity.SelectGenerator.Visit(DbJoinExpression expression)
at System.Data.Common.CommandTrees.DbJoinExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at MySql.Data.Entity.SqlGenerator.VisitInputExpression(DbExpression e, String name, TypeUsage type)
at MySql.Data.Entity.SelectGenerator.VisitInputExpressionEnsureSelect(DbExpression e, String name, TypeUsage type)
at MySql.Data.Entity.SelectGenerator.Visit(DbFilterExpression expression)
at System.Data.Common.CommandTrees.DbFilterExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at MySql.Data.Entity.SqlGenerator.VisitInputExpression(DbExpression e, String name, TypeUsage type)
at MySql.Data.Entity.SelectGenerator.VisitInputExpressionEnsureSelect(DbExpression e, String name, TypeUsage type)
at MySql.Data.Entity.SelectGenerator.Visit(DbProjectExpression expression)
at System.Data.Common.CommandTrees.DbProjectExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at MySql.Data.Entity.SelectGenerator.GenerateSQL(DbCommandTree tree)
at MySql.Data.MySqlClient.MySqlProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree)
at System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree)
at System.Data.EntityClient.EntityCommandDefinition..ctor(DbProviderFactory storeProviderFactory, DbCommandTree commandTree)

此代码在格式化我的计算机之前可以正常工作。我使用 MySQL 5.5.12、MySQL .NET 连接器版本 6.5.4。只有 Netframework 版本可能会更改,我已完成所有 Windows 更新,并且在安装 Visual Studio 2012 时,会自动安装 .Net 4.5。

我该如何解决这个问题?

最佳答案

而不是使用

xXx.userconfigs.FirstOrDefault().IsPublicProfile == true;

尝试如下-

xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true;

然后你的整个代码将如下所示 -

List<MemberClass> Members = myEntity.users
.Where(xXx => xXx.Status == m_Status && xXx.CompanyRef != m_CompanyRef
&& xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true)
.Select(xXx => new MemberClass {
Username = xXx.Username,
FullName = xXx.Name + " " + xXx.Surname,
Name = xXx.Name,
Surname = xXx.Surname,
AccessName = xXx.useraccess.Name,
RID = xXx.RID,
Email = xXx.Email }).ToList();

关于asp.net - Entity Framework : Specified method is not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16887358/

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