Я строю модели LINQ вручную, потому что я хочу (понять, что происходит на самом деле).
Существует большое легкое руководство по превращению стандартных классов в модели Linq, которые я читаю Здесь .
Для моего примера приложения я создал несколько моделей, которые выглядят так:
public class LoginModel
{
[Column(IsPrimaryKey=true,
DbType="UniqueIdentifier NOT NULL",
CanBeNull=false)]
public Guid LoginID { get; set; }
// .. and more question useless properties...
}
Я определенно вижу шаблон для первичного ключа, который привел меня к созданию ...
[AttributeUsage(AttributeTargets.Property
| AttributeTargets.Field,
AllowMultiple = false)]
public sealed class ColumnPrimaryKeyAttribute : DataAttribute
{
public ColumnPrimaryKeyAttribute()
{
CanBeNull = false;
IsPrimaryKey = true;
DbType = "UniqueIdentifier NOT NULL";
}
// etc, etc...
}
Поэтому, когда я использую свой новый атрибут, LINQ не получает мой атрибут (даже если он наследуется от того же DataAttribute
, что и Column
. Есть ли шаг, который я пропускаю, или я должен отказаться от этой идеи?