jac*_*oke 10 c# linq asp.net entity-framework
我有一个插入表单.我想查看数据库中是否已存在该记录以防止重复.我不确定这个什么时候会发生变化.在控件的代码隐藏中,作为表单或我调用的类来执行插入.以下是我认为的课程.
public class AddContacts
{
public int AddContact(string ContactName)
{
var myContact = new Solutions.Models.Contact();
myContact.ContactName = ContactName;
ItemContext _db = new ItemContext();
_db.Contacts.Add(myContact);
_db.SaveChanges();
return myContact.ContactID;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看到它使用If语句完成,.Any()但我无法正常工作.我也不明白为了让我发布错误消息需要返回什么Contact Name already exists.
sig*_*ger 24
您可以使用这样的Any方法:
bool contactExists = _db.Contacts.Any(contact => contact.ContactName.Equals(ContactName));
if (contactExists)
{
return -1;
}
else
{
_db.Contacts.Add(myContact);
_db.SaveChanges();
return myContact.ContactID;
}
Run Code Online (Sandbox Code Playgroud)
调用AddContact的方法将检查返回值并决定是否向用户显示错误或确认消息.
做这样的检查:
bool doesExistAlready = _db.Contacts.Any(o => o.ContactName == ContactName);
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,试试这个:
bool doesExistAlready = _db.Contacts.Count(o => o.ContactName == ContactName) > 0;
Run Code Online (Sandbox Code Playgroud)
打开SQL跟踪/调试,以便您看到正在生成的实际sql.
| 归档时间: |
|
| 查看次数: |
33321 次 |
| 最近记录: |