相关疑难解决方法(0)

实体框架和连接池

我最近开始在我的.NET 4.0应用程序中使用Entity Framework 4.0,并对与池化相关的一些事情感到好奇.

  1. 据我所知,连接池由ADO.NET数据提供程序管理,在我的情况下是MS SQL服务器.当您实例化新的实体context(ObjectContext)时,这是否适用,即无参数new MyDatabaseModelEntities()

  2. a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定操作/方法创建和公开实体上下文有哪些优点和缺点.

  3. 我应该了解的某些场景的任何其他建议,最佳实践或常用方法?

.net database ado.net entity-framework connection-pooling

264
推荐指数
3
解决办法
11万
查看次数

使用Find-method时,Entity Framework会抛出异常

我有一个简单的Web应用程序,允许用户上传包含特定数据的2个.csv文件.为了保持数据,我使用了Entity Framework两种不同的数据Import-methods.

第一种进口方法

    public void ImportOne(string path)
    {
        StreamReader sr = new StreamReader(path);

        using (var db = new ContextEv("RndContext"))
        {
            db.Database.ExecuteSqlCommand("DELETE FROM TableA");
            db.Database.ExecuteSqlCommand("DELETE FROM TableB");

            while (!sr.EndOfStream)
            {
                string[] data = sr.ReadLine().Split(';');
                string houseId = data[0];

                    House house = new House()
                    {
                        HouseId = houseId,
                    };

                    House dummy = db.Houses.Find(houseId);

                    if (!dummy.HouseId.Equals(house.HouseId))
                    {
                        db.Houses.Add(house);
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

此行失败:House dummy = db.Houses.Find(houseId);出现以下异常:

其中一个主键值的类型与实体中定义的类型不匹配.有关详细信息,请参阅内部异常.\ r \nParametername:keyValues

InnerException的ErrorContext:

关键字'AS',第1行,第22列

InnerException的ErrorDescription:

查询语法无效.

好吧,我检查了这个类型是否真的存在问题.但是我没有发现任何错误.

关于它的"有趣"的事情是,我在另一个Import-method中使用相同的Find-method,它没有任何异常!

using …
Run Code Online (Sandbox Code Playgroud)

.net c# linq asp.net-mvc entity-framework

5
推荐指数
1
解决办法
2871
查看次数