私が作成したものではないアプリケーションがあります。このアプリケーションには、データを使用してデータベースに保存するフォームがありMySQL
ますDbContext
。1 つの余分なフィールドを追加しようとしていますが、直面している問題は、フォーム値で生成されたモデルに新しい値が含まれていても、DbContext
この余分なフィールドを に生成していないquery
ため、この余分な値が保存されていないことです。 .
これは、実際にデータをテーブルに保存するメソッドです。
public virtual int Insert(T source)
{
using (var context = new EyebusEntities())
{
context.Set<T>().Add(source);
context.SaveChanges();
return source.Id;
}
}
観測:
source
保存する必要がある値があります。- MySQL の一般的なログを使用してクエリを監視すると、クエリにフィールドが欠落していることを確認できました。
DbContext
クエリはどのように正確に生成されますか? そして、どうすれば目的を達成できるでしょうか?
実在物:
public partial class Ocorrencia : IEntity
{
public Ocorrencia()
{
this.OcorrenciaVideos = new HashSet<OcorrenciaVideo>();
}
public int Id { get; set; }
public int IdOcorrenciaTipo { get; set; }
public System.DateTime DataInicio { get; set; }
public System.DateTime DataFim { get; set; }
public string Operador { get; set; }
public string Motorista { get; set; }
public string Cobrador { get; set; }
public string Terceiros { get; set; }
public string Descricao { get; set; }
public byte[] Imagem { get; set; }
public string EmailsEnviados { get; set; }
public string TipoOcorrenciaOutro { get; set; }
public string Onibus { get; set; } //field which don't get saved
public virtual ICollection<OcorrenciaVideo> OcorrenciaVideos { get; set; }
public virtual OcorrenciaTipo Tipo { get; set; }
}
}