如何为Oracle存储过程生成访问类

时间:2011-05-02 11:25:53

标签: c# code-generation t4 odp.net

我正在使用c#,目前的想法是通过sql查询获取有关存储过程的信息

select OWNER, OBJECT_NAME, ARGUMENT_NAME, DATA_TYPE, IN_OUT from SYS.ALL_ARGUMENTS order by OWNER, OBJECT_NAME, SEQUENCE 

所以可以从输出

生成这样的行
oracleCommand.Parameters.Add(parameter.ParameterName, parameter.OracleDbType, parameter.Value, ParameterDirection.Input);

并使用T4生成类 我的问题是可以通过ODP.Net更清晰地获取存储过程属性,还是有一种完全不同的更好的方法

2 个答案:

答案 0 :(得分:1)

我搜索了一组T4模板的高低,为我生成了Oracle存储过程和数据访问层,找不到任何东西。所以,我在网上找到了一些例子并自己写了一些。下面的链接包含T4模板文件,用于为给定Oracle模式中的每个表创建基本CRUD存储过程,并在C#中创建相应的数据访问层。这些过程和DAL设置为在Oracle的实体框架中使用。

您需要安装T4编辑器,T4 Toolkit和ODP.Net才能使用这些脚本。然后,您需要填写架构和连接字符串信息,在Visual Studio中加载T4模板并运行以“* Script.tt”结尾的.tt文件。您可能需要根据需要调整/修改脚本,但是这些脚本可能会为您提供一个起点......

https://docs.google.com/open?id=0B_OWWs9xWuRQeHVOOUlscWdSZlN0OU9SMS1fWFMxZw

答案 1 :(得分:0)

www.metadrone.com可以连接到Oracle并根据存储过程和函数及其参数生成代码。