我正在一个项目中工作,我需要使用实体框架将数据保存到不同的表中。我实际上是在保存地址。
我的桌子是:
地址 (Id, address line1, StateId, SuburbId, PostcodeId)
州 (Id, StateName)
郊区 (Id, SuburbName)
邮政编码 (Id, PO)
如何插入新地址,如果表中存在邮政编码和/或郊区,则将现有地址用于新地址,否则将新郊区/邮政编码插入相关表中。例如,正在插入一个新地址,但郊区表中已经存在郊区,因此我需要对现有地址进行约束,而不是在郊区表中创建(复制)郊区。
是否有意义?我没有尝试过任何东西,因为我不知道该尝试什么。
这是我到目前为止所拥有的:
Entities db = new Entities();
var addrSuburb = new Suburb()
{
SuburbName = "My Suburb"
};
var addrState = new State()
{
State1 = "My State",
StateShort = "MS"
};
var addrPostCode = new Postcode()
{
PO = 4234
}
var addrCust = new Address()
{
AddressLine1 = My address,
Suburb1 = addrSuburb,
Postcode1 = addrPostCode,
State = addrState
};
db.Postcodes.Add(addrPostCode);
db.Suburbs.Add(addrSuburb);
db.States.Add(addrState);
db.Addresses.Add(addrCust);
db.SaveChanges();
如果我能有一个小例子,那就太好了!