今天下了个DBLINQ试了试,用DBMETAL产生数据库映射文件的时候发现无法连通ORACLE,查看DBLINQ.ORACLE发现,DBLINQ是用ODP驱动的(未证实),如果用SYSTEM.DATA.ORACLE就需要修改OracleVendor.CS下的BuildConnectionString方法:
Code
"Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)))",
改成
"Data Source = {0}"
生成镜像文件的命令如下:
Code
dbmetal /provider:Oracle /server:数据库名 /user:用户 /password:密码 /database:所属用户 /dbml:输出文件名 /namespace:命名空间
同样修改参数/code:文件.cs,就可以产生CS文件了,然后放入项目中,引用DbLinq.dll和DbLinq.Oracle.dll,即可连通ORACLE进行查询了
例子如下:
Code
string connstr = "user id=用户;data source=mes;password=XX";
OracleConnection ocon = new OracleConnection(connstr);
LINQ类 my= new LINQ类(ocon);
var tables= from b in my.表格 where b.condition == "0" select b;
foreach (var br in tables)
{
Console.WriteLine(br.Name);
}