我想实现以下要求:
修改 我需要的是。可以有一个主位置和详细位置(一个多个)。每个位置可以多辆车。主位置有自己的carname(在carname表上),cartext和IsCar(在CarText表上)。详细位置使用来自主位置的carname,但在CarText表上有自己的列。允许多个主站位置(每个主站具有许多详细位置)。
我应该如何设计Car类,以及Fluent NHibernate中的ORM映射?
以下是C#类:
Below is the tables:
Table Location:
LocationId
Table CarName:
CarId, LocationId, Name, Colour
The LocationId allows multiple cars.
Table CarText:
CarTextId, CarId, LocationId, Text, IsCar
提前致谢!
答案 0 :(得分:1)
编辑:这个班级结构是否更接近你的要求?
public class Location
{
public virtual int Id { get; set; }
public virtual Car MasterCar { get; set; }
}
public class Car
{
public virtual Location Location { get; set; }
public virtual string Name { get; set; }
public virtual IDictionary<Location, string> TextsByLocation { get; set; }
}
Edit2:这更好吗?
public class MasterLocation
{
public virtual int Id { get; set; }
public virtual ICollection<Location> Details { get; set; }
public virtual string CarName { get; set; }
}
public class Location
{
public virtual MasterLocation Master { get; set; }
public virtual int Id { get; set; }
public virtual ICollection<Cars> Cars { get; set; }
}
public class Car
{
public virtual Location Location { get; set; }
public virtual string Name
{
get { return Location.Master.CarName; }
set { Location.Master.CarName = value; }
}
public virtual string Text { get; set; }
}