C# 使用实体的Id保存父实体而不是使用整个实体
我已经使用Nhibernate有一段时间了,但我想知道是否可以使用父项的Id而不是整个父项来保存我的子实体C# 使用实体的Id保存父实体而不是使用整个实体,c#,.net,nhibernate,fluent-nhibernate,C#,.net,Nhibernate,Fluent Nhibernate,我已经使用Nhibernate有一段时间了,但我想知道是否可以使用父项的Id而不是整个父项来保存我的子实体 Class Parent { int Id {get;set;} string name {get;set;} } Class Child { int Id {get;set;} string name {get;set;} Parent parent {get;set;} } 您需要实例化一个父对象。但是,这并不意味着您实际上必须从数据库加载父记录。如果您可以使用session.L
Class Parent
{
int Id {get;set;}
string name {get;set;}
}
Class Child
{
int Id {get;set;}
string name {get;set;}
Parent parent {get;set;}
}
您需要实例化一个父对象。但是,这并不意味着您实际上必须从数据库加载父记录。如果您可以使用session.Load来实例化父对象,那么,如果您为实体启用了延迟加载,那么这只会创建一个保存Id的代理对象
var c = new Child() {
name = "Foo",
parent = session.Load<Parent>(parentId)
};
session.Save(c);
var c=new Child(){
name=“Foo”,
parent=session.Load(parentId)
};
会议.保存(c);
感谢您提供的解决方案。您是如何深入了解nhibernate的?通过四年左右的生产使用与nhibernate的斗争。