【发布时间】:2021-03-15 03:15:56
【问题描述】:
Person.cs:
[Table (name : "Person")]
public class Person : BaseEntity
{
[Key, Column(Order = 0), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string PersonNo { get; set; }
[Key, Column(Order = 1)]
public string PersonType { get; set; }
[Key, Column(Order = 2)]
public string PersonKing { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public DateTime Dates { get; set; }
}
人员控制器
using(DbContext _db =new DbContext())
{
var person = _ db.Person.Where(x=>x.PersonNo=='1000').ToString();
.
.
}
上下文:
public virtual DbSet<Person> Person { get; set;}
public MyContext(): base("Name=MyDbContext") { }
public override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("DB");
}
错误发生在这行代码上:
var person = _ db.Person.Where(x => x.PersonNo == '1000').ToString();
这是错误
无法确定 Entity.Person 类型的复合主键顺序
数据库:Oracle 和 PersonNo、PersonType、PersonKing 列是主键的一部分。
【问题讨论】:
标签: c# oracle entity-framework