实体框架连接到我的数据库以检索列、数据类型、关系等。它还知道哪些列可以为空,不能为空。
如果我将常规的 asp.net 网格连接到实体数据源,它可以根据实体自动生成网格。它根据数据类型等知道哪些字段应该是复选框。
由于数据类型内置在实体类中,常规的 asp.net 控件(如网格或表单视图)是否也可以自动执行验证?(或至少生成必要的验证控制?)
谢谢,凯文
实体框架连接到我的数据库以检索列、数据类型、关系等。它还知道哪些列可以为空,不能为空。
如果我将常规的 asp.net 网格连接到实体数据源,它可以根据实体自动生成网格。它根据数据类型等知道哪些字段应该是复选框。
由于数据类型内置在实体类中,常规的 asp.net 控件(如网格或表单视图)是否也可以自动执行验证?(或至少生成必要的验证控制?)
谢谢,凯文
是的,您可以使用asp:ValidationSummary控件显示验证错误,包括验证类型。这里有一个在gridview上使用这种方法的项目:http: //code.msdn.microsoft.com/ASPNET-Web-Forms-97f8ee9a,查看编辑学生。向实体添加更多验证规则的方法是附加元数据。如果您使用的是 EF Code First,您可以通过添加元数据类直接应用规则,此处示例:
[MetadataType(typeof(EntityNameMetaData))]
public partial class EntityName {} // name of entity which want to add validation
public class EntityNameMetaData // this is a place, where put validation rules
{
[StringLength(25, ErrorMessage = "First name must be 25 characters or less in length.")]
[Required(ErrorMessage = "First name is required.")]]
//custom or other validation rules
public String EntityProperty
}
这在 asp.net 中是不可能自动实现的,您必须定义列并创建项目模板来实现这一点。