gpt4 book ai didi

c# - Entity Framework 代码生成策略——Nullable varchar 与 Non-Nullable varchar

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:39 28 4
gpt4 key购买 nike

对于 EF 5.0.0、VS 2012 和 .NET 4.5,当我从现有 SQL Server 2012 数据库添加新的 ADO.NET 实体数据模型时,生成的代码不会区分可空和不可空 varchar。例如TTITLE 是不可为空的,但 CITY 在我的数据库中是可以为空的,但它们最终就像在生成的代码中一样 - 这反过来会产生验证问题。默认情况下,EF 不应该用 [Required] 属性修饰 TITLE 属性吗?它确实生成了可空和不可空 int 之间的准确区分。

public partial class AWARD
{
public int ID { get; set; }
public int PERSON_ID { get; set; }
public string TITLE { get; set; }
public string CITY { get; set; }
public Nullable<int> STATE_PROVINCE { get; set; }
public Nullable<int> COUNTRY { get; set; }
public string ORGANIZATION { get; set; }
public int YEAR { get; set; }
public Nullable<int> MONTH { get; set; }

public virtual PERSON PERSON { get; set; }
public virtual V_COUNTRY V_COUNTRY { get; set; }
public virtual V_USA_STATE V_USA_STATE { get; set; }
}

最佳答案

显然, Entity Framework 的默认代码生成策略不会生成像 Required 这样的数据注释属性。但是,您可以将自定义 T4 模板与您的实体模型结合使用来执行此操作。请在此处查看相关答案:Where are the Entity Framework t4 templates for Data Annotations?

关于c# - Entity Framework 代码生成策略——Nullable varchar 与 Non-Nullable varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539702/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com