C# EF 6.1和维护视图
昨天我问了这个问题: 我认为一切都很好,尽管在生成新的迁移时我仍然有一些困难。当我生成一个新视图时,EF看到它想要更改的视图中有一些更改或不规则。但是,据我所知,视图的c.q.列主键是不可更改的C# EF 6.1和维护视图,c#,entity-framework,ef-code-first,entity-framework-migrations,entity-framework-6.1,C#,Entity Framework,Ef Code First,Entity Framework Migrations,Entity Framework 6.1,昨天我问了这个问题: 我认为一切都很好,尽管在生成新的迁移时我仍然有一些困难。当我生成一个新视图时,EF看到它想要更改的视图中有一些更改或不规则。但是,据我所知,视图的c.q.列主键是不可更改的 DropPrimaryKey("dbo.myView1"); DropPrimaryKey("dbo.myView2"); AlterColumn("dbo.myView1", "Name", c => c.String(maxLength: 255, unicode: false));
DropPrimaryKey("dbo.myView1");
DropPrimaryKey("dbo.myView2");
AlterColumn("dbo.myView1", "Name", c => c.String(maxLength: 255, unicode: false));
AlterColumn("dbo.myView1", "SecondName", c => c.String(maxLength: 255, unicode: false));
AlterColumn("dbo.myView1", "MultipleNames", c => c.String(maxLength: 255, unicode: false));
AlterColumn("dbo.myView2", "Price", c => c.Decimal(nullable: false, precision: 18, scale: 2));
AlterColumn("dbo.myView2", "TypeName", c => c.String(maxLength: 255, unicode: false));
AddPrimaryKey("dbo.myView1", "Id");
AddPrimaryKey("dbo.myView2", "Id");
有人知道这个问题的解决方案吗
起初我认为MyView1.Name字段不等于view字段。但在数据库中,该字段是一个普通字段:varchar255 not null en在我的代码中,它是一个最大长度为255的字符串
所以我不知道如何避免这一代人?
有什么想法吗
编辑:
我唯一能理解的是MyView2.Price字段,它在我的代码中是一个小数标准18,2。数据库中的小数点是19,4。因此,可以在更改模型时修复此问题。但是弦呢??仍然不知道。已解决:解决十进制问题将自动解决所有其他问题 似乎删除并创建了id以使重命名成为可能? 以及防止错误 不过我还是不确定。。为什么字符串在创建位置出现问题 注意:正如您在上一篇文章中看到的,我从一个现有的数据库生成了我的模型。 在添加任何新迁移之前,请确保删除SQL视图模型中的所有[Key]属性。这似乎是解决方案的一部分