在NHibernate中动态更改对象

时间:2017-11-07 15:58:24

标签: c# nhibernate

我想使用NHibernate查询具有不同对象的数据库。我有一个字符串,取决于该字符串是什么,然后我想返回一个对象并使用该对象查询数据库。但是,我不确定这个的最佳设计是什么。

简单逻辑:

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>();
}

1 个答案:

答案 0 :(得分:1)

您可以使用此重载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>();
}