我正在构建我的第一个小型RavenDB应用程序,我想知道在构建域模型时是否正确接近了。
我有一个国家列表,我想在我的模型中的多个地方使用。通常在过去我会创建一个数据库表来存储国家和一个看起来像这样的国家/地区对象:
public class Country{
public int Id {get;set;}
public string CountryName {get;set;}
}
当我去使用国家级时,我会在另一个对象中包含一个实例,例如:
public class Shop{
public int Id {get;set;}
public string Name {get;set;}
public Country InCountry {get;set;}
}
或者
public class Customer{
public int Id {get;set;}
public string Surname {get;set;}
public Country CountryOfResidence {get;set;}
}
依此类推。我是否正确地认为我现在应该做的是将国家/地区的ID存储在Shop
和Customer
类中,以便现在看起来像这样:
public class Shop{
public int Id {get;set;}
public string Name {get;set;}
public int CountryId {get;set;}
}
public class Customer{
public int Id {get;set;}
public string Surname {get;set;}
public int CountryOfResidenceId {get;set;}
}
当我从数据库中提取这些内容时,我可以使用Raven API的includes功能来获取相关的国家/地区对象,尽管它位于单独的对象中,但我不能做myCustomer.Country.Name
。< / p>
显然这是一个非常人为的例子,但我真的只想检查一下,在继续沿着这条路走下去之前,我并没有完全错误地咆哮。
答案 0 :(得分:3)
我还没有正确使用文档数据库,但我对你的问题的想法是: