动态更改 NHibernate 中的对象
Dynamically change object in NHibernate
我想使用 NHibernate 查询具有不同对象的数据库。我有一个字符串,根据该字符串是什么,我想 return 一个对象并使用该对象查询数据库。但是,我不确定最好的设计是什么。
简单逻辑:
public object CheckString(string s){
if(s == "A")
return objA;
else if(s == "B")
return objB;
}
public void main(){
var obj = CheckString("A");
session.CreateCriteria<obj>().List<obj>();
}
您可以使用此重载 ICriteria CreateCriteria(string entityName)
:
public string CheckString(string s){
if(s == "A")
return "EntityA";//entity name from the database
else if(s == "B")
return "EntityB";//entity name from the database
}
public void main(){
string entityName = CheckString("A");
session.CreateCriteria(entityName).List<T>();
}
我想使用 NHibernate 查询具有不同对象的数据库。我有一个字符串,根据该字符串是什么,我想 return 一个对象并使用该对象查询数据库。但是,我不确定最好的设计是什么。
简单逻辑:
public object CheckString(string s){
if(s == "A")
return objA;
else if(s == "B")
return objB;
}
public void main(){
var obj = CheckString("A");
session.CreateCriteria<obj>().List<obj>();
}
您可以使用此重载 ICriteria CreateCriteria(string entityName)
:
public string CheckString(string s){
if(s == "A")
return "EntityA";//entity name from the database
else if(s == "B")
return "EntityB";//entity name from the database
}
public void main(){
string entityName = CheckString("A");
session.CreateCriteria(entityName).List<T>();
}