У меня есть пара сущностей Linq to SQL, которые вызывают у меня проблемы:
[Table(Name = "ViewName")]
[InheritanceMapping(Code = false, Type = typeof(Entity1), IsDefault = true)]
[InheritanceMapping(Code = true, Type = typeof(Entity2))]
public class Entity1
{
[Column(AutoSync = AutoSync.OnInsert, DbType = "uniqueidentifier NOT NULL", IsPrimaryKey = true, IsDbGenerated = true)]
public Guid Bssid { get; set; }
// other properties
[Column(AutoSync= AutoSync.OnInsert ,DbType = "Int NOT NULL IDENTITY", IsDbGenerated = true)]
public int NewSslid { get; set; }
}
public class Entity2 : Entity1
{
public Entity2()
{
Discriminator = true;
_options = new EntitySet<Entity3>();
}
}
Сущности используют обновляемое представление, а не базу данныхтаблица, поскольку есть около 150 полей, распределенных по двум таблицам.Представление выполняется со всеми функциями CRUD, работающими так, как они должны, но я получаю следующую ошибку при попытке вставить любой тип сущности в базу данных:
System.InvalidOperationException: Ошибка члена AutoSync.Чтобы элементы автоматически синхронизировались после вставки, тип должен иметь автоматически созданный идентификатор или ключ, который не изменяется базой данных после вставки.
В таблице БД для Entity1 используетсяPK и отдельное поле (NewSslid) в качестве идентификатора - который, в свою очередь, используется в качестве PK в поле Entity2.
Может ли кто-нибудь указать мне правильное направление для сортировки этой ошибки?