Linq to Oracle 使用教程(四)验证数据

点击这里返回目录

 

添加 Validate Attribute 到属性

选取 Product 类中的 PropertyName 属性,在属性窗口中,选择 Attributes 项,然后点击旁边的按钮。在弹出的对话框中,双击左边 Attribute List 中的 RequiredAttribute 项,将其添加到右边。在属性窗口中,将 AllowEmptyString 设为 False ,点击 OK 按钮保存。

2010120310450511.jpg

2010120310484154.jpg

  

实现扩展方法

在设计器中,鼠标右键点击 Product 类,在弹出的菜单中,选择 ViewCode (或者按 F7 快捷键)。

导入命名空间

 
  
using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;

在 Prodcut 类中,添加下面的方法用于对实体类的属性进行验证。

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
partial void OnValidate(ALinq.ChangeAction action)
{
var propertyInfos
= this .GetType().GetProperties();
foreach (var propertyInfo in propertyInfos)
{
var customeAttributes
= propertyInfo.GetCustomAttributes( true )
.Where(o
=> o is ValidationAttribute)
.Cast
< ValidationAttribute > ();

foreach (var attribute in customeAttributes)
{
attribute.Validate(propertyInfo.GetValue(
this , null ), propertyInfo.Name);
}
}
}

在 Program.cs 文件中,添加下面的代码:

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
static void Main( string [] args)
{
var dc
= new NorthwindDataContext()
{
Log
= Console.Out
};

var product
= new Product { Productname = "" };
dc.Products.InsertOnSubmit(product);
dc.SubmitChanges();
}

按 Ctrl + F5 运行,从图中可以发现,抛出了一个异常,那是因为 ProductName 属性验证失败了。

2010120311180611.jpg

关于更多验证方面的内容,请参考:

http://msdn.microsoft.com/en-us/library/cc488527.aspx

http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx

或者 Google : Linq to SQL validate

点击这里返回目录

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值