整数プライマリキーとして1つの列MandantIdを含むテーブルにレコードを追加しようとすると問題が発生します。この列はではなく、の自動インクリメントです。私はレコードを追加しようとすると、私は次のようなエラーメッセージが出ます: を:mandantid「23502列にNULL値が 『』非NULL制約に違反する」Npgsql EntitiyFrameworkはプライマリキーとして整数のみを持つテーブルにレコードを追加できません
私が使用しているもの:
- のPostgreSQL 9.6
- EntityFramework 6.1.3
- EntityFramework6.Npgsql 3.1.1
- Npgsqlの3.1.2
私が使用している場合次のようなINSERTクエリ: _context.Database.ExecuteSqlCommand(string.Format( "INSERT INTO public.mandant(mandantid)VALUES({0});")、MandantId)); それは動作します!
しかし、私は修正クエリを使用したくありません。 0と一度有効な整数、同じエラー
- を)とEFからのSaveChanges()関数:私はすでに試した何
- idという名前の追加の列を、自動インクリメントとして主キーとして追加しました。しかし、私は2つのユニークなキーを持っています。
これは私のDatabasemodelです:
[Table("mandant", Schema = "public")]
public class MandantEdm
{
public MandantEdm()
{
}
[Key]
[Column("mandantid")]
public int MandantId { get; set; }
}
これは、コンテキスト・クラスである:
class LicenseContext : DbContext
{
public LicenseContext()
: base("MandantContext")
{
}
public virtual DbSet<MandantEdm> Mandants { get; set; }
}
この問題もあります。あなたはそれを解決していますか? –