在我的带有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.TypedTranslator1.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.TypedTranslator1.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.InternalQuery1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery
1.System.Collections.Generic.IEnumerable.GetEnumerator() 在System.Collections.Generic.List1..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查询正在做他们应该做的事情。
当我尝试访问不相关的控制器时出现错误。什么可能出错?这开始发生了吗?
答案 0 :(得分:1)
可能是数据类型不匹配...例如,在edmx中无法识别“xml”数据......可能是类似的......