我收到此错误:
表dbo.AccountGroup中的关联引用了未映射的类:System.String
这是我的实体:
public class AccountGroup
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual string Parent { get; set; }
public virtual string Description { get; set; }
public virtual IList<Account> Accounts { get; set; }
public AccountGroup()
{
this.Accounts = new List<Account>();
}
}
public class Account
{
public virtual int Id { get; private set; }
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual int Category { get; set; }
public virtual AccountGroup Group { get; set; }
public virtual IList<LedgerEntry> LedgerEntries { get; set; }
public Account()
{
this.LedgerEntries = new List<LedgerEntry>();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的映射:
public AccountGroupMap()
{
Table("dbo.AccountGroup");
Id(x => x.Id)
.Column("Id");
Map(x => x.Name);
References(x => x.Parent)
.Column("Parent");
Map(x => x.Description);
HasMany(x => x.Accounts)
.KeyColumn("GroupId")
.Inverse()
.Cascade.All();
}
}
public AccountMap()
{
Table("dbo.Account");
Id(x => x.Id)
.Column("Id");
Map(x => x.Code);
Map(x => x.Name);
Map(x => x.Description);
Map(x => x.Category);
References(x => x.Group)
.Column("AccountGroupId");
HasMany(x => x.LedgerEntries)
.KeyColumn("AccountId")
.Inverse()
.Cascade.All();
}
Run Code Online (Sandbox Code Playgroud)
这是我的表格:
CREATE TABLE AccountGroup(Id int PRIMARY KEY,Name varchar(20),Parent int,Description varchar(20))
CREATE TABLE帐户(Id int PRIMARY KEY,Code varchar(30),Name varchar(20),Description varchar(20),Category int,AccountGroupId int,FOREIGN KEY(AccountGroupId)REFERENCES AccountGroup(Id))
Dav*_*emp 15
你有
References(x => x.Parent)
.Column("Parent");
Run Code Online (Sandbox Code Playgroud)
当Parent被定义为
public virtual string Parent { get; set; }
Run Code Online (Sandbox Code Playgroud)
你不能引用一个字符串(除非它是一个集合元素)
| 归档时间: |
|
| 查看次数: |
9850 次 |
| 最近记录: |