我怎样才能在实体框架设置的默认值(How can I set default values in E

2019-09-17 00:00发布

我有一个表在我的数据库52列,我想编写一个函数在表中创建一个行。
就我而言,我不希望使用的所有列在该表中,所以我创造了我的模型是这样的。

[Table("CUST_MASTER")]
public class CustomerMaster
{
    [Key]
    [Column("CUSTOMER_ID")]
    public string Id { get; set; }

    [Column("CUSTOMER_NAME")]
    public string Name { get; set; }

    [Column("CUSTOMER_CITY")]
    public string City { get; set; }
 }

有没有办法通过实体框架只发送这些数据,并将其他所有不能为空领域的一些默认数据(字符串“”,对于小数0.0,等等),而不在我的模型字段都写,做手工?

Answer 1:

当你没有在模型中包含一个表列的话,就不会被映射,它会被所有生成的SQL被完全忽略。

所以,唯一的选择就是指定数据库的默认值。



Answer 2:

如果您在构造函数中设置的值,你将不得不通过你的代码中的默认值,但你可以看看能够迁移代替,这样你可以设置默认值。 看看这个问题计算器



Answer 3:

我想,这老的建议是你想要什么。 它明确提到缺乏概念模型与存储模型之间的映射。 不是一个非常流行/理解的想法虽然。

更新:FWIW, 这表明它已经可以在非代码优先方案。



文章来源: How can I set default values in Entity Framework