C# Npgsql实体框架可以';t将记录添加到仅以整数作为主键的表中
当我试图将记录添加到只包含一列mandandi作为整型主键的表中时,遇到了一个问题。此列不是自动递增的。当我尝试添加记录时,会收到以下错误消息: 23502:列“mandandi”中的null值违反了非null约束 我使用的是:C# Npgsql实体框架可以';t将记录添加到仅以整数作为主键的表中,c#,postgresql,entity-framework,npgsql,C#,Postgresql,Entity Framework,Npgsql,当我试图将记录添加到只包含一列mandandi作为整型主键的表中时,遇到了一个问题。此列不是自动递增的。当我尝试添加记录时,会收到以下错误消息: 23502:列“mandandi”中的null值违反了非null约束 我使用的是: PostgreSQL 9.6 实体框架6.1.3 实体框架6.Npgsql 3.1.1 Npgsql 3.1.2 如果使用插入查询,如: _context.Database.ExecuteSqlCommand(string.Format(“INSERT-INTO-pub
[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; }
}
类LicenseContext:DbContext
{
公共许可证上下文()
:base(“MandantContext”)
{
}
公共虚拟数据库集命令{get;set;}
}
我也有这个问题。
并解决了这个问题。您应该将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; }
}
我也有这个问题。
并解决了这个问题。您应该将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; }
}
我也有这个问题。你解决了吗?我也有这个问题。你解决了吗?