如果 Entity 没有数据库 View 的所有属性的属性,它会破坏应用程序吗?

If Entity does not have properties for all the attributes for database View, will it break the application?

我正在为 Code First 模型从数据库生成实体。 在 Visual Studio 中添加 "ADO.NET Entity Data Model" 时,我选择了 "Code From Database" 并在实体数据模型向导中选择了数据库视图。然后 Visual Studio 为视图生成了正确的实体:

[Table("schemaName.emp_v")]
public partial class Employee
{

此视图是公共视图,由其他团队拥有,以后可以添加新列。为了模拟这种情况,我在为 schemaName.emp_v 视图生成的 Employee 实体中注释了一些属性。我期待 EF 异常,因为实体属性的数量和视图属性的数量不匹配;和应用程序的工作方式与评论实体属性之前相同。

当生成代码后在视图中添加新列时,它是否会破坏我的应用程序,因为我的应用程序确实具有那些新添加的列的相应属性(如果实体没有数据库视图的所有属性的属性,它会破坏应用程序吗)?

When new columns are added in the view after code is generated, would it break my application as my application does have corresponding properties for those newly added columns

不适合选择。

更新和插入视情况而定。如果某些新列是必需的 (not null),那么您将无法给它们赋值,因此添加和更新操作将失败。

记住,最后 EF 只是生成 SQL。如果它有足够的信息来创建无错误执行的 SQL,那么它将起作用。