Хорошо, у меня есть объект с именем «Бизнес» (я знаю, я знаю, «Бизнес Бизнес-объект»)
Когда он сохранен, его внешние ключи как-то теряются. Все остальное экономит. Я прошел через код и следовал за объектом до
Session.saveOrUpdate (BusinessObject);
метод. Объект в этой точке не поврежден, и посторонние свойства, кажется, там. Однако, когда он сохранен, внешние идентификаторы не находятся в бизнес-таблице. Я могу только предположить, что это может быть из-за того, что я не правильно их отображаю?
Вот где они отображаются:
<many-to-one insert="false" update="false" name="_Township" column="TownshipId" class="HQData.Objects.Township, HQData" />
<many-to-one insert="false" update="false" name="_User" column="UserId" class="HQData.Objects.User, HQData" />
<many-to-one insert="false" update="false" name ="_SubCategory" column="SubCategoryId" class="HQData.Objects.SubCategory, HQData"/>
Здесь объект загружается и сохраняется:
HQData.Objects.Business business = null;
if (BusinessId != 0)
business = BusinessManager.GetBusiness(BusinessId);
else
business = new HQData.Objects.Business();
business._SubCategory = CategoryManager.GetCategory(Convert.ToInt32(ddlCategory.SelectedValue.Trim()));
business.Name = ControlHelper.Sanitize(txtName.Text.Trim());
business.Address1 = ControlHelper.Sanitize(txtAddress.Text.Trim());
business._Township = TownshipManager.GetTownshipByCityorZip(ControlHelper.Sanitize(txtTownship.Text));
business.PhoneNumber = ControlHelper.Sanitize(txtPhone.Text.Trim());
business.FaxNumber = ControlHelper.Sanitize(txtFax.Text.Trim());
business.Email = ControlHelper.Sanitize(txtEmail.Text.Trim());
business.Website = ControlHelper.Sanitize(txtWebsite.Text.Trim());
business.AboutUs = ControlHelper.Sanitize(txtAboutUs.Text.Trim());
business._User = UserManager.GetCurrentUser();
BusinessManager.SaveBusiness(business);
Спасибо за вашу помощь.