首页 新闻 会员 周边

ADO.NET Entity Framework 连接oralce 问题

0
悬赏园豆:10 [已解决问题] 解决于 2009-08-14 10:00

我用写了一个实现用linq增删改查的小例子,
create table tbUser(id int,name varchar(32)),
这个例子去连接MS SQL,功能可以全部功能
但是
EFOracleProvider.dll去连oracle 10g,问题存在是:
如果是create table "tbUser"("id" int,"name" varchar(32))就没问题
如果是create table tbUser(id int,name varchar(32))
的话会报找不到数据表

我们的oracle都是设置不区分大小写的,
请问有什么方法解决呢,谢谢

 

using (TestCommonDataEntities content = new TestCommonDataEntities())
{
    var users = from u in content.tbUser
                            where u.id == id
                            select u;
    TextBox2.Text = "id:" + users.First().id.ToString() + " name:" + users.First().name.ToString();//这个里出错了,解释成SQL时出错了,因为我的oracle设置是不区分大小写的,而 解释后的SQL都有带引号的,即区分大小写的了
}

达峰的主页 达峰 | 初学一级 | 园豆:190
提问于:2009-08-07 16:21
< >
分享
最佳答案
0

生成引号好像是Provider的问题吧,我的Sqlite.net provider就是生成 [] 的

收获园豆:8
排骨虾 | 菜鸟二级 |园豆:401 | 2009-08-07 17:11
那你是怎么解决[]的?
达峰 | 园豆:190 (初学一级) | 2009-08-10 09:49
这个是Provider自身的特性,你可能需要到提供这个Provider的社区去问问了。Sqlite给我生成[]是因为这样可以避免跟数据库中的关键字冲突,还有表明如果有数字的话,[]是必须的
排骨虾 | 园豆:401 (菜鸟二级) | 2009-08-11 17:22
下载了EFOracleProvider源码,修改CommandText用Repalce掉引号 现在基本能用了
达峰 | 园豆:190 (初学一级) | 2009-08-11 18:34
其他回答(1)
0

如果你打算在项目里用的,建议你使用ALinq。 http://www.alinq.org

收获园豆:2
麦舒 | 园豆:452 (菜鸟二级) | 2009-08-08 21:54
没打算在项目里用,只是先学习下.
支持(0) 反对(0) 达峰 | 园豆:190 (初学一级) | 2009-08-10 09:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册