#c# #entity-framework #ado.net #entity #entity-relationship
#c# #entity-framework #ado.net #сущность #сущность-отношение
Вопрос:
Я создал ADO.NET Модель данных объекта. Допустим, что он сгенерировал приведенный ниже код:
namespace MyEntities
{
//Contexts
...
[EdmEntityTypeAttribute(NamespaceName="Entities", Name="table1")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class table1 : EntityObject{...}
}
Любые манипуляции с ним работают нормально. Например
var cxt = new SPEntities();
var res = (from t in cxt.table1
select t).ToList();
Но если я добавлю ЛЮБОЙ класс с атрибутом [EdmEntityTypeAttribute]
в пространстве имен, ОТЛИЧНОМ от класса table1, но в ТОЙ же сборке, что и класс table1, я получу ошибки во время выполнения, такие как: The type doesn't have any key members.
, "Schema specified is not valid.
Допустим, я добавляю этот класс:
namespace ANY_NAMESPACE
{
[EdmEntityTypeAttribute]
public class ANY_CLASS
{
}
}
Почему я получаю ошибки такого рода, если я даже не использую класс ANY_CLASS?
Это выглядит как ADO.NET Entity engine просматривает все классы с [EdmEntityTypeAttribute]
атрибутом в СБОРКЕ перед выполнением кода и проверяет правильность построения этих классов, даже если они не используются. Я прав? Если я использую, почему он это делает?
Спасибо