Dar*_*kes 2 c# nhibernate hibernate
我在我的项目NHibernate中使用了这样的:
public class DBHelper
{
private static ISessionFactory sessions;
public static void Configure()
{
sessions = new Configuration().Configure().AddClass(typeof(Clients)).BuildSessionFactory();
//ISessionFactory factory = Fluently.Configure().Mappings(m => m.FluentMappings.AddFromAssemblyOf<Clients>()).Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey(DBConnection.GetConnectionString())).BuildSessionFactory();
}
public static void Insert(Clients pb)
{
using (ISession session = sessions.OpenSession())
using (ITransaction tx = session.BeginTransaction())
{
session.Save(pb);
tx.Commit();
}
}
public static void UpdateContact(Clients pb)
{
using (ISession session = sessions.OpenSession())
using (ITransaction tx = session.BeginTransaction())
{
session.Update(pb);
tx.Commit();
}
}
public static void DeleteContact(Clients pb)
{
using (ISession session = sessions.OpenSession())
using (ITransaction tx = session.BeginTransaction())
{
session.Delete(pb);
tx.Commit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有树简单的方法:插入,删除,保存.现在我需要从DB表中获取所有数据或者从客户端获取一些数据,例如模拟选择*,其中id ='...'
你的选择是:
就个人而言,我非常喜欢QueryOver API:
var clients = session.QueryOver<Clients>().Where(x => x.Name == "Foobar").List();
Run Code Online (Sandbox Code Playgroud)
如果您只需要通过其ID获取实体,则可以使用" 获取"或"加载"
var client = session.Get<Clients>(5);
Run Code Online (Sandbox Code Playgroud)
如果您搜索NHibernate教程,您肯定会找到很多信息.我听说过关于夏季的NHibernate截屏视频,但我个人还没有看过它们.
| 归档时间: |
|
| 查看次数: |
9309 次 |
| 最近记录: |