Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查linq对象中的可空属性_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 检查linq对象中的可空属性

C# 检查linq对象中的可空属性,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,Hi有一个名为Customer的linq对象,它基本上是数据库中我的Customer表,它有以下字段 Name Varchar(128) NOT NULL Email Varchar(128) NULL PostCode Varchar(16) NOT NULL ...a lot more fields 此对象绑定到mvc4中的模型: public class EventModel{ public Customer Customer {get;set;} } 我想做的是当它绑定到

Hi有一个名为Customer的linq对象,它基本上是数据库中我的Customer表,它有以下字段

Name Varchar(128) NOT NULL
Email Varchar(128) NULL
PostCode Varchar(16) NOT NULL
...a lot more fields
此对象绑定到mvc4中的模型:

public class EventModel{

    public Customer Customer {get;set;}

}
我想做的是当它绑定到一个模型时,添加一个自定义的验证对象来检查对象的属性,以验证视图中的表单。在探索我的linq对象时,我可以看到一些属性,如Nullable和Server Data Type,例如Name字段的Nullable设置为false,Server Data Type为Varchar(128)NOT NULL。从这里,我可以潜在地创建以下内容:

[Required, StringLength(128)]
有没有人对此有什么想法,或者有没有更简单的方法?理想的做法是使用通用方法传入任何对象以与表单进行比较。

我将在您的模型上使用,并让它检查客户实体的元素


或者,您可以修改生成实体的T4模板,并让其生成分部类,以便客户成为分部。然后,您可以在与客户关联的其他部分的其他文件上创建验证方法。

这看起来非常好,而且使用简单。你知道有一个工作的示例代码可以看到这一点吗?我知道有额外的代码需要编写,但值得!我只是用文档部分来学习。它非常简单,示例也同样简单。如果你最终使用这个作为你的答案,不要忘了回来,并将其标记为已接受的答案,因为这可能需要你一点时间来学习和实施。所以别忘了。:)如果这不是你想要的,祝你好运。到目前为止看起来不错,是否有一个日期属性来定义日期,你知道你是否可以在规则中提供自定义消息吗?因为日期可以有许多不同的方式,所以我没有使用通用的方式。我没有使用最新版本,所以不确定。但您可以使用它来创建一个符合您存储日期的标准。