そのため、テーブルに 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;
}
}
私は Entity Framework にあまり詳しくないので、このプロジェクトで正常に動作する別のエンティティに対して既に行われたことを模倣してみました。
更新されない REPORT_UPLOADED を除いて、更新は正常に機能しているようです。SQL プロファイラ トレースは、新しいプロパティ/列が無視されていることを示しています :(
orderHeader.REPORT_UPLOADED = true;
orderHeader.POSTE = "WHATEVER";
int result = new MsDt_OrderHeader().Update(orderHeader);
足りないものはありますか?