现在我一直在窃听我一段时间,我希望能够通过更改ObservableCollection
或记录类SquirrelDataGridActiveView
来更新数据库上的现有记录。
这是我DataAccessService:使用DataAccessService MVVM Light更新数据库
public interface IDataAccessService
{
ObservableCollection<SquirrelDataGridActiveView> GetEmployees();
void UpdateRecord(SquirrelDataGridActiveView Emp);
int CreateEmployee(SquirrelDataGridActiveView Emp);
}
/// <summary>
/// Class implementing IDataAccessService interface and implementing
/// its methods by making call to the Entities using CompanyEntities object
/// </summary>
public class DataAccessService : IDataAccessService
{
Drive_SHEntities context;
public DataAccessService()
{
context = new Drive_SHEntities();
}
public ObservableCollection<SquirrelDataGridActiveView> GetEmployees()
{
ObservableCollection<SquirrelDataGridActiveView> Employees = new ObservableCollection<SquirrelDataGridActiveView>();
foreach (var item in context.SquirrelDataGridActiveViews)
{
Employees.Add(item);
}
return Employees;
}
public int CreateEmployee(SquirrelDataGridActiveView Emp)
{
context.SquirrelDataGridActiveViews.Add(Emp);
context.SaveChanges();
return Emp.ID;
}
public void UpdateRecord(SquirrelDataGridActiveView temp)
{
}
}
正如你可以看到已经有一个GetEmployees()
方法和CreateEmployee()
方法但是我finiding很难用新值更新数据库。
任何建议将不胜感激。
对不起,也许我还不够清楚;忽略'CreateEmployee()'。我想运行一个UPDATE SQL查询,这需要放在'UpdateRecord()'里面。我需要一个更通用的方式来更新数据库,而不是运行SQL查询。我想它会涉及'Context'。 –