Сохранение экземпляра связанной записи (или списка связанных записей для отношений «один ко многим» или «многие ко многим»).
public MyOtherObject MyObject { get; set; }
Это может измениться в зависимости от того, как вы сохраняете данные в БД, но в целом это ОО-способ сделать это.
Я делаю это, используя EF 4.1 Code First, и получающаяся БД содержит внешний ключ в связанную таблицу.
Отредактируйте в ответ на ваш последний комментарий (относительно атрибута ForeignKeyAttribute), чтобы я мог использовать лучшее форматирование кода в ответе:
Согласно записи MSDN для ForeignKeyAttribute
(http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.foreignkeyattribute(v=vs.103).aspx#Y198), имя, которое вы передаете в ForeignKeyAttribute
, является именем соответствующего свойства навигации или свойства внешнего ключа в том же классе.
Например:
public class MyClass
{
// This is a "Navigation Property"
public MyOtherClass ForeignObject { get; set; }
// This is a "Foreign Key Property"
[ForeignKey("ForeignObject")]
public int ForeignObjectID { get; set; }
}
Атрибут ForeignKey
в приведенном выше фрагменте кода идентифицирует свойство ForeignObjectID
как внешний ключ для свойства ForeignObject
. Вам все еще понадобится экземпляр чужого объекта в вашем классе.
Вы также можете использовать атрибут ForeignKey
в свойстве навигации, просто передайте имя свойства внешнего ключа атрибуту:
public class MyClass
{
// This is a "Navigation Property"
[ForeignKey("ForeignObjectID")]
public MyOtherClass ForeignObject { get; set; }
// This is a "Foreign Key Property"
public int ForeignObjectID { get; set; }
}