[英]NHibernate Where Contains / OrderBy / Skip / Take / Select To New Entity
[英]nHibernate 2.1: Save a new entity in a for
好吧,這讓我發瘋,我不明白為什么會這樣。 我有一種保存JobExperiences列表的方法,而JobExperience與公司有關系。 問題來了,我試圖在foreach中創建一個新公司並保存它,但是nHibernate也在嘗試保存JobExperience ...,並且它沒有引用到JobExperience!。 這是我的代碼:
foreach (JobExperience exp in expList)
{
if (exp.Company.IsNew)
{
try
{
Company c = new Company();
c.Name = "CompanyTest";
companyService.Save(c); //throws an exception!
}
catch (Exception ex)
{
}
}
因此,該行正在嘗試保存JobExperience,並且顯示異常,因為它是未保存的。 但是,如果我嘗試這樣做:
try
{
Company c = new Company();
c.Name = "CompanyTest";
companyService.Save(c);
}
catch (Exception ex)
{
}
foreach (JobExperience exp in expList)
{
//[... code excluded for abbreviation ]
那行得通!而且它並沒有試圖保存任何JobExperience!....
有什么想法為什么會這樣?
看起來,兩者之間的關系目前是強制性的,您有兩個基本選擇:
1)如果在您的系統中可以有沒有公司的JobExperience,則可以通過在hbm中說出not-null =“ true來更改關系映射為可選(如果您使用的是某些流利的映射工具中的等效項)使用一個)。
2)如果關系是強制性的,則應首先保存公司。
HTH,
貝里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.