我正在研究实体数据模型,并且我创建了一个方法来将记录插入到sql server 2005 DB的表中。在插入记录之前,我是否已经在表中存在具有相同名称的用户。这是一个类库,我在Asp.net Web应用程序中引用它。当我从Web应用程序调用此Insert方法时,我得到异常,因为“Sequence不包含任何元素”。
当我对checkUserExist函数发表评论时,记录正在插入数据库。
这是我的源代码。
public class EntityClass
{
public static string InsertRecord(string username, string domain, string host)
{
bool isExist = false;
bool returnNull = false;
try
{
SolVeEntities entity = new SolVeEntities();
User ud = new User();
//before inserting user into the table, verify whether User already exist
isExist = CheckUserExist(username);
if (!isExist)
{
ud.username = username;
ud.domain = domain;
ud.host = host;
ud.datetime = DateTime.Now;
entity.Users.AddObject(ud);
entity.SaveChanges();
}
else { returnNull = true;
}
}
catch (Exception ex)
{
}
if (returnNull)
return "user " + username + " already Exist";
else
return username + domain + host;
}
private static bool CheckUserExist(string uname)
{
bool isExist = false;
SolVeEntities entity = new SolVeEntities();
User u1 = entity.Users.First(u => u.username == uname);
if (u1.username == uname)
{
isExist = true;
}
else
{ isExist = false; }
return isExist;
}
}
任何建议/解决方案请...谢谢。 我在User u1 = entity.Users.First(u => u.username == uname);
的CheckUserExist方法中遇到异常答案 0 :(得分:0)
使用以下方式重写CheckUserExist
:
private static bool CheckUserExist(string uname)
{
using(SolVeEntities entity = new SolVeEntities())
{
return entity.Users.Any(u => u.username == uname);
}
}