session.Close()和之间有什么区别session.Dispose()?
您是否在实际应用程序中使用SchemaExport和SchemaUpdate?最初,您创建模型然后生成模式?它有用吗?或者,您只将它用于测试......
通常,我创建db(使用visual studio数据库项目),然后使用设计器创建映射和持久类或EF实体.但现在,我想尝试使用Fluent NHibernate进行代码优先.
我研究了SchemaExport和SchemaUpdate,发现了一些问题.例如,update不会删除db对象,如果表存在则创建非空列,如nullable,不会在多对多表上生成主键,依此类推.这意味着我必须经常重新创建数据库.但是,数据是什么?并且,如何将更改部署到生产数据库等等......
我想知道您是否真的在您的应用程序中使用代码和SchemaExport(SchemaUpdate)?也许你可以给我一些建议......
NHibernate是否总是为所有列生成更新?
public class Person
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Address { get; set; }
}
Person p = Session.Load(1);
p.Name = "New Name";
Session.Flush();//Update for all columns, but I change only Name
这是NHibernate的正常行为还是我的错误?我使用Fluent NHibernate和AutoMapping.
您对NHibernate验证器性能了解多少?我打算使用它,但它使用反射,我担心性能......
什么是最好的方式和原因?
V1:
try
{
var service = IoC.Resolve<IMyBLService>();
service.Do();
}
catch(BLException ex)
{
//Handle Exception
}
Run Code Online (Sandbox Code Playgroud)
V2:
var service = IoC.Resolve<IMyBLService>();
var result = service.Do();
if (!result.Success)
{
//Handle exception
}
Run Code Online (Sandbox Code Playgroud) .net architecture domain-driven-design business-logic n-tier-architecture
我需要为我的新项目选择TransactionScope或NHibernate事务.什么是更好的?什么时候应该使用TransactionScope?NHibernate交易?