Pri*_*tel 7 c# asp.net linq-to-sql
在我的一个页面中,我需要检查输入的客户信息是否包含PAN NO,Email,Mobile 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();
Run Code Online (Sandbox Code Playgroud)
它正在工作,但任何人都可以帮助我解决我的问题的正确方法.如果没有找到记录将是什么结果.欢迎任何建议.
bool duplicateExists = dt.Data_Customer_Logs.Any(x =>
x.cPanGirNo == panno
|| x.cEmail == email
|| x.nMobileNo.ToString() == mobno);
Run Code Online (Sandbox Code Playgroud)
如果你只是想知道这些记录是否存在,这是一个清洁工.我认为这将避免带回多个记录的客户端,然后做IEnumerable<T>.Any的结果.
如果您还需要获取符合条件的记录,您可以使用IQueryable<T>.Where:
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.
Run Code Online (Sandbox Code Playgroud)