Tôi nhận được lỗi này:NHibernate Mapping Ngoại lệ: Một liên kết từ các dbo.AccountGroup bảng đề cập đến một lớp unmapped: System.String
Một liên kết từ bảng dbo.AccountGroup đề cập đến một lớp unmapped: System. chuỗi
Đây là thực thể của tôi:
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>();
}
}
Đây là bản đồ của tôi:
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();
}
Dưới đây là bảng của tôi:
CREATE TABLE AccountGroup ( Id int PRIMARY KEY, Tên varchar (20), int phụ huynh, Mô tả varchar (20) )
CREATE TABLE Tài khoản ( Id int PRIMARY KEY, Mã varchar (30), Tên varchar (20), Mô tả varchar (20), Thể loại int, AccountGroupId int, KEY NƯỚC NGOÀI (AccountGroupId) THAM KHẢO AccountGroup (Id) )
Cảm ơn ... Tôi đã gặp sự cố tương tự. Ước gì tôi có thể bình chọn nhiều hơn một lần :) –