开发者

Why any class with EdmEntityTypeAttribute causes runtime error even if it's not used?

开发者 https://www.devze.com 2023-03-09 17:47 出处:网络
I created ADO.NET Entity Data Model. Let\'s say that it generated the code below: namespace MyEntities

I created ADO.NET Entity Data Model. Let's say that it generated the code below:

namespace MyEntities
{
       //Contexts
       ...
       [EdmEntityTypeAttribute(NamespaceName="Entities", Name="table1")]
       [Serializable()]
       [DataContractAttribute(IsReference=true)]
  开发者_StackOverflow中文版     public partial class table1 : EntityObject{...}
}

Any manipulation on it works fine. For example

var cxt = new SPEntities();
var res = (from t in cxt.table1
           select t).ToList();

But if I add ANY class with attribute [EdmEntityTypeAttribute] within DIFFERENT namespace from table1 class, but in the SAME assembly that table1 class is located, so I get runtime errors like: The type doesn't have any key members., "Schema specified is not valid. Let's say I add this class:

 namespace ANY_NAMESPACE
    {
        [EdmEntityTypeAttribute]
        public class ANY_CLASS
        {
        }
    }

Why I get those kind errors if I even don't use ANY_CLASS class?

It looks like ADO.NET Entity engine passes through all classes with [EdmEntityTypeAttribute] attribute in the ASSEMBLY before it execute the code and checks those classes for correct construction even if they aren't used. Am I right? If I do, why it does it?

Thank you

0

精彩评论

暂无评论...
验证码 换一张
取 消