我有一对夫妇的LINQ到SQL实体这是造成我的问题:LINQ到SQL System.InvalidOperationException:会员自动同步失败
[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)作为标识 - 它又被用作Entity2字段上的PK。
任何人都可以指出我在正确的方向得到这个错误排序?