首先,对不起我的英文。在NHibernate中执行Oracle PL/SQL存储过程
我现在正在创建Oracle数据库,其中所有的DML打包到存储过程中(例如,客户端不能直接执行“INSERT ONTO Articles(...”,它必须调用SP“ArticleInsert()”) 。数据库也有它自己的安全系统 - 特殊的表,比如“Users”,“Privileges”,“Users_Privileges”。当建立到数据库的连接时,我必须执行特殊的存储过程才能“登录系统” ,例如“登录(database_user,user_password)”。在这个数据库“知道”后,我是谁,并且知道我的权限
我计划在C#中使用NHibernate编写客户端应用程序,但是这个ORM用于每个新对象修改使用来自池的新数据库连接。因此,当我写 cl屁股“文章”和suhib标准的NHib DML行为(“INSERT/UPDATE/DELETE”将被执行适当的存储过程所取代),当NHibernate调用新的db连接时,如何执行“Login(database_user,user_password)”池?
或者如何解决这些任务?
感谢
我认为在严格的Oracle DBA只允许应用程序运行少量存储的情况下,他有插入/更新/删除的要点,因为我完全同意你的选择,我会让NH执行它,它做得很好: ) – 2011-03-04 17:50:05
当然,SELECT操作将使用标准的NHibernate方法执行,而不是通过SP。存储过程仅适用于CREATE/UPDATE/DELETE。 – JSP 2011-03-04 18:57:22