神秘错误:LINQ to Entities中不支持指定的类型成员'tagdata'

时间:2013-12-05 11:25:33

标签: asp.net linq entity-framework linq-to-entities

在我的带有MySQL db的ASP .NET MVC 4(VS 2012)中,我通过实体框架使用数据库第一种方法。我成功地手动在我的数据库中添加了两个新表。所以现在我可以使用这两个表,一切都与这两个表有关。我可以在其中插入数据,显示它们,对它们执行逻辑操作。但由于这些变化,我的一些api链接无效,给出了这个错误:

  

LINQ to不支持指定的类型成员'tagdata'   实体。仅初始化程序,实体成员和实体导航   支持属性。

StackTrace:

  

“在   System.Data.Objects.ELinq.ExpressionConverter.MemberAccessTranslator.TypedTranslate(ExpressionConverter   parent,MemberExpression linq)at   System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter parent, Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.ThenByTranslatorBase.Translate(ExpressionConverter parent, MethodCallExpression call) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call, SequenceMethod sequenceMethod) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq) at System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter   父母,表达linq)at   System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(表达式   linq)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.ThenByTranslatorBase.Translate(ExpressionConverter   parent,MethodCallExpression call)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter   parent,MethodCallExpression调用,SequenceMethod sequenceMethod)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter   parent,MethodCallExpression linq)at   System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter parent, Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.ThenByTranslatorBase.Translate(ExpressionConverter parent, MethodCallExpression call) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call, SequenceMethod sequenceMethod) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq) at System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter   父母,表达linq)at   System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(表达式   linq)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.UnarySequenceMethodTranslator.Translate(ExpressionConverter   parent,MethodCallExpression call)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter   parent,MethodCallExpression调用,SequenceMethod sequenceMethod)at   System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter   parent,MethodCallExpression linq)at   System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter parent, Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.UnarySequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call, SequenceMethod sequenceMethod) at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq) at System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator 1.Translate(ExpressionConverter   父母,表达linq)at   System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(表达式   linq)在System.Data.Objects.ELinq.ExpressionConverter.Convert()at   System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(可空1 forMergeOption) at System.Data.Objects.ObjectQuery 1.GetResults(可空1 forMergeOption) at System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable.GetEnumerator()   at System.Data.Entity.Internal.Linq.InternalQuery 1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery 1.System.Collections.Generic.IEnumerable.GetEnumerator()   在System.Collections.Generic.List 1..ctor(IEnumerable 1个集合)   在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)at   Newtonsoft.Json.Serialization.JsonArrayContract.CreateWrapper(对象   列表)   Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter   writer,Object value,JsonContract valueContract,JsonProperty成员,   JsonContainerContract containerContract,JsonProperty   containerProperty)at   Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter   jsonWriter,Object value)at   Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter   jsonWriter,Object value)at   Newtonsoft.Json.JsonSerializer.Serialize(JsonWriter jsonWriter,Object   价值)   System.Net.Http.Formatting.JsonMediaTypeFormatter<> C_ DisplayClassd.b _c()   在System.Threading.Tasks.TaskHelpers.RunSynchronously(动作,   取消令牌令牌)“}

对不起,我忘了提到我在我的控制器中使用的linq查询没有任何问题,因为: 1)即使我注释掉所有使用这两个新表的控制器,我仍然会得到同样的错误。 2)那些linq查询正在做他们应该做的事情。

当我尝试访问不相关的控制器时出现错误。什么可能出错?这开始发生了吗?

1 个答案:

答案 0 :(得分:1)

可能是数据类型不匹配...例如,在edmx中无法识别“xml”数据......可能是类似的......