所以我在表中添加了一个 BIT 列,现在我需要确保它被关联的 Windows Entity Framework 类模块正确处理。
这是我在 Order_Header.cs 中添加的内容:
//New added column...
public virtual bool REPORT_UPLOADED
{
get;
set;
}
但是该文件看起来像是由某些工具自动生成的……如果是这样,是哪个?我是否应该重新运行该工具以考虑新列?无论如何。
现在我进入了为实体实现保存、更新、选择等功能的类模块:
public override int Save(Entities.Master.Order_Header type)
{
try
{
using (var context = new Master_Data_Container(ConfigurationManager.MasterDataConnection()))
{
context.Order_Header.AddObject(type);
return context.SaveChanges();
}
}
catch (Exception ex)
{
throw ex;
}
}
public override int Update(Entities.Master.Order_Header type)
{
try
{
using (var context = new Master_Data_Container(ConfigurationManager.MasterDataConnection()))
{
var orderHeader = context.Order_Header.First(n => n.ID == type.ID);
orderHeader.ADR_FACT = type.ADR_FACT;
orderHeader.ADR_RAPPORT = type.ADR_RAPPORT;
orderHeader.REPORT_UPLOADED = type.REPORT_UPLOADED;
orderHeader.STATUT = type.STATUT;
orderHeader.TELEPHONE = type.TELEPHONE;
orderHeader.TYPE_COMMANDE = type.TYPE_COMMANDE;
orderHeader.TYPE_EXAMEN = type.TYPE_EXAMEN;
return context.SaveChanges();
}
}
catch (Exception ex)
{
throw ex;
}
}
我对实体框架不是很熟悉,所以我尝试模仿我在这个项目中已经为另一个实体所做的工作,效果很好。
更新似乎工作正常,除了 REPORT_UPLOADED 永远不会更新。SQL 探查器跟踪显示新属性/列被忽略:(
orderHeader.REPORT_UPLOADED = true;
orderHeader.POSTE = "WHATEVER";
int result = new MsDt_OrderHeader().Update(orderHeader);
有什么我想念的吗?