当我尝试将Record添加到只包含一列MandantId作为整数主键的表时,我遇到了问题。此列不自动递增。当我尝试添加记录时,我收到以下错误消息: " 23502:列中的空值" mandantid"违反了非空约束"
我用的是什么:
如果我使用INSERT查询,例如: _context.Database.ExecuteSqlCommand(string.Format(" INSERT INTO public.mandant(mandantid)VALUES({0});"),MandantId)); 它有效!
但我不想使用修复查询。 我已经尝试了什么:
这是我的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; }
}
答案 0 :(得分:0)
我也遇到了这个问题。
并解决了它。您应为Order
属性添加Column
值,并为主键添加DatabaseGenerated
属性。
[Table("mandant", Schema = "public")]
public class MandantEdm
{
public MandantEdm()
{
}
[Key]
[Column("mandantid", Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int MandantId { get; set; }
}