C# 检查是否存在,然后实时显示错误消息
我试图检查数据库中是否存在personalNumber,然后向用户显示消息。但我有一个问题: 我贴了这个:C# 检查是否存在,然后实时显示错误消息,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,我试图检查数据库中是否存在personalNumber,然后向用户显示消息。但我有一个问题: 我贴了这个: [HttpPost] public JsonResult doesIdExist(string personalNumber) { var user = db.PRT_PARTNERS.Find(personalNumber); return Json(user == null); } 但它在find上抛出了一个异常: 中发生“System.ArgumentException”
[HttpPost]
public JsonResult doesIdExist(string personalNumber)
{
var user = db.PRT_PARTNERS.Find(personalNumber);
return Json(user == null);
}
但它在find上抛出了一个异常:
中发生“System.ArgumentException”类型的异常
EntityFramework.dll,但未在用户代码中处理
其他信息:主键值之一的类型不正确
与实体中定义的类型不匹配。有关详细信息,请参见内部异常
细节
怎么了
这是我的模型:
[Required(ErrorMessage = "მოცემული ველი სავალდებულოა")]
[RegularExpression(@"^\d{11}$", ErrorMessage = "გთხოვთ შეიყვანოთ 11 ნიშნა რიცხვი")]
[Display(Name = "პირადი ნომერი")]
[Remote("doesIdExist", "Partners", HttpMethod = "POST", ErrorMessage = "მოცემული პირადი ნომერი უკვე არსებობს ბაზაში")]
public string personalNumber { get; set; }
使用
或
Find方法与键一起使用。看
查找具有给定主键值的实体。如果上下文中存在具有给定主键值的实体,则会立即返回该实体,而无需向存储发出请求。否则,将向存储区请求具有给定主键值的实体,如果找到该实体,则将其附加到上下文并返回。如果在上下文或存储中找不到实体,则返回null
使用
或
Find方法与键一起使用。看
查找具有给定主键值的实体。如果上下文中存在具有给定主键值的实体,则会立即返回该实体,而无需向存储发出请求。否则,将向存储区请求具有给定主键值的实体,如果找到该实体,则将其附加到上下文并返回。如果在上下文或存储中找不到实体,则返回null
使用
或
Find方法与键一起使用。看
查找具有给定主键值的实体。如果上下文中存在具有给定主键值的实体,则会立即返回该实体,而无需向存储发出请求。否则,将向存储区请求具有给定主键值的实体,如果找到该实体,则将其附加到上下文并返回。如果在上下文或存储中找不到实体,则返回null
使用
或
Find方法与键一起使用。看
查找具有给定主键值的实体。如果上下文中存在具有给定主键值的实体,则会立即返回该实体,而无需向存储发出请求。否则,将向存储区请求具有给定主键值的实体,如果找到该实体,则将其附加到上下文并返回。如果在上下文或存储中找不到实体,则返回null
[来自对问题的评论] 但在db中,它的名字是个人号码 但是模型上说它是
personalNumber
所以你需要告诉EF:
[来自对问题的评论] 但在db中,它的名字是个人号码 但是模型上说它是
personalNumber
所以你需要告诉EF:
[来自对问题的评论] 但在db中,它的名字是个人号码 但是模型上说它是
personalNumber
所以你需要告诉EF:
[来自对问题的评论] 但在db中,它的名字是个人号码 但是模型上说它是
personalNumber
所以你需要告诉EF:
[HttpPost]
public JsonResult doesIdExist(string personalNumber)
{
//db.PRT_PARTNERS.Where(x=>x.PersonalNumber==personalNumber);
var user = db.PRT_PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber);
return Json(user == null);
}
用这个
[HttpPost]
public JsonResult doesIdExist(string personalNumber)
{
//db.PRT_PARTNERS.Where(x=>x.PersonalNumber==personalNumber);
var user = db.PRT_PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber);
return Json(user == null);
}
用这个
[HttpPost]
public JsonResult doesIdExist(string personalNumber)
{
//db.PRT_PARTNERS.Where(x=>x.PersonalNumber==personalNumber);
var user = db.PRT_PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber);
return Json(user == null);
}
用这个
[HttpPost]
public JsonResult doesIdExist(string personalNumber)
{
//db.PRT_PARTNERS.Where(x=>x.PersonalNumber==personalNumber);
var user = db.PRT_PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber);
return Json(user == null);
}
数据库中的
personalNumber
类型是什么?@TimSchmelter它是VARCHAR2(50)。这和MSSQL上的nvarchar是一样的。但在db中,它的名称是PERSONAL\u NUMBERvar user=db.PRT\u PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber)代码>数据库中的personalNumber
类型是什么?@TimSchmelter它是VARCHAR2(50)。这和MSSQL上的nvarchar是一样的。但在db中,它的名称是PERSONAL\u NUMBERvar user=db.PRT\u PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber)代码>数据库中的personalNumber
类型是什么?@TimSchmelter它是VARCHAR2(50)。这和MSSQL上的nvarchar是一样的。但在db中,它的名称是PERSONAL\u NUMBERvar user=db.PRT\u PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber)代码>数据库中的personalNumber
类型是什么?@TimSchmelter它是VARCHAR2(50)。这和MSSQL上的nvarchar是一样的。但在db中,它的名称是PERSONAL\u NUMBERvar user=db.PRT\u PARTNERS.FirstOrDefault(p=>p.personalNumber==personalNumber)代码>