Linq to sql LINQ到SQL更新未更新
简单LINQ更新不起作用。我进行了更改,但GetChangeSet返回0个更新Linq to sql LINQ到SQL更新未更新,linq-to-sql,changeset,Linq To Sql,Changeset,简单LINQ更新不起作用。我进行了更改,但GetChangeSet返回0个更新 public bool Update(CompanyEmployee Employee) { if (!isValid(Employee)) return false; var dc = new ERICustomersDataContext(); var e = dc.CompanyEmployees.Single(c => c.Id == Employee.Id); if (
public bool Update(CompanyEmployee Employee)
{
if (!isValid(Employee)) return false;
var dc = new ERICustomersDataContext();
var e = dc.CompanyEmployees.Single(c => c.Id == Employee.Id);
if (e == null)
{
_ErrorMessage = "Not found";
return false;
}
e.LastName = Employee.LastName;
e.FirstName = Employee.FirstName;
e.EmployeeNumber = Employee.EmployeeNumber;
e.BusinessUnitId = Employee.BusinessUnitId;
var ChangeSet = dc.GetChangeSet();
if (ChangeSet.Updates.Count == 0)
{
_ErrorMessage = "Changeset is empty"; // <<<< THIS IS WHAT HAPPENS...
return false;
}
try
{
dc.SubmitChanges();
return true;
}
catch (Exception ex)
{
_ErrorMessage = ex.Message;
return false;
}
}
公共bool更新(公司员工)
{
如果(!isValid(Employee))返回false;
var dc=新的EricCustomerSDataContext();
var e=dc.CompanyEmployees.Single(c=>c.Id==Employee.Id);
如果(e==null)
{
_ErrorMessage=“未找到”;
返回false;
}
e、 LastName=Employee.LastName;
e、 FirstName=Employee.FirstName;
e、 EmployeeNumber=Employee.EmployeeNumber;
e、 BusinessUnitId=Employee.BusinessUnitId;
var ChangeSet=dc.GetChangeSet();
if(ChangeSet.Updates.Count==0)
{
_ErrorMessage=“变更集为空”//两项:
您确定新值与旧值不同吗
以下内容永远不会返回null,那么为什么要检查它呢?如果有多于或少于一条记录,它将抛出。我想您需要SingleOrDefault()
dc.CompanyEmployees.Single(c=>c.Id==Employee.Id)
两项:
您确定新值与旧值不同吗
以下内容永远不会返回null,那么为什么要检查它呢?如果有多于或少于一条记录,它将抛出。我想您需要SingleOrDefault()
dc.CompanyEmployees.Single(c=>c.Id==Employee.Id)
我只是遇到了同样的问题。我有一个表拒绝显示更改或更新
我通过删除dbml文件中的所有表,然后重新添加它们来修复它。我遇到了同样的问题。我有一个表拒绝显示更改或更新
我通过删除dbml文件中的所有表,然后重新添加来修复它。两项:1)您确定新值与旧值不同吗?2)“dc.CompanyEmployees.Single(c=>c.Id==Employee.Id)”将永远不会返回null,那么为什么要检查它呢?如果有多于或少于一条记录,它将抛出。我想您需要SingleOrDefault()?两项:1)您确定新值与旧值不同吗?2)“dc.CompanyEmployees.single(c=>c.Id==Employee.Id)”将永远不会返回null,那么为什么要检查它呢?如果有多于或少于一条记录,它将抛出。我想您需要SingleOrDefault()?Robinson-是的,这些值是不同的。我以前在测试中使用了SingleOrDefault并将其更改为Single,但没有任何效果。我认为从代码中看问题并不明显。我怀疑这可能与安全性有关,但尚未能够证明或反驳。Robinson-是的,这些值是不同的。我以前我在测试中使用了SingleOrDefault并将其更改为Single,但没有效果。我认为代码中没有明显的问题。我怀疑它可能与安全性有关,但尚未能够证明或反驳这一点。