在我的一个页面中,我需要检查输入的客户信息是否包含先前可能已输入的重复PAN NO,电子邮件,移动号码.目前我正在尝试使用此
Linq To sql语句
var duplicate = (from dup in dt.Data_Customer_Logs where dup.cPanGirNo == panno || dup.cEmail == email || dup.nMobileNo.ToString() == mobno select dup).Any();
解决方法
bool duplicateExists = dt.Data_Customer_Logs.Any(x => x.cPanGirNo == panno || x.cEmail == email || x.nMobileNo.ToString() == mobno);
如果你只想知道这些记录是否存在,这是一个清洁工.而且我认为它会避免将多个记录带回客户端,然后对结果进行IEnumerable< T> .Any.
如果您还需要获取符合条件的记录,则可以使用IQueryable< T>.在哪里:
var duplicates = dt.Data_Customer_Logs.Where(x => x.cPanGirNo == panno || x.cEmail == email || x.nMobileNo.ToString() == mobno); if(duplicates.Any()) { // use duplicates... foreach(var dup in duplicates) { //use dup.cEmail,dup.nMobileNo,etc.