【发布时间】:2013-07-11 21:29:37
【问题描述】:
完整的代码可以在这里找到:http://home.htw-berlin.de/~s0531210/eb/DataBaseTest.zip
这是一个带有测试实体框架的简单项目。 我有一个允许访问 SQL Server Compact 数据库的 DLL。此访问由 Enttiy Framework 5.0 进行。
第二个项目是访问此 DLL 的控制台应用程序。从 DLL 调用类以将示例数据存储到数据库中时,异常是“错误基础提供程序打开”。
调用时出现此异常:db.SaveChanges();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DatabaseLibrary
{
public class SLD
{
public SLD()
{
}
public void enterData()
{
using (var db = new SLDDatabaseModelEntitiesContext())
{
for (int i = 0; i < 10; i++)
{
SLDEntity entrysfoo = new SLDEntity();
entrysfoo.Flip = i;
entrysfoo.Slidename = "bla" + i;
db.SLDEntity.Add(entrysfoo);
}
db.SaveChanges(); //DAtanbank speichern
}
}
public SLDEntity getFromDataBase(string wsiname)
{
using (var db = new SLDDatabaseModelEntitiesContext())
{
foreach (var item in db.SLDEntity)
{
if (item.Slidename.Equals(wsiname))
{
return item;
}
}
}
return new SLDEntity();
}
}
}
我希望你们能帮助我。我不知道问题出在哪里。我在互联网上搜索了一些关于权限 iusses 的信息,但连接字符串是 reqiredpermissin=false。
【问题讨论】:
-
getFrom 方法是否有效? (顺便说一句:过滤方式非常低效)。
-
问题将出在 ConnectionString 以及实际 db 文件的位置/方式上。发布 ConnectionString 以开始。
-
是的,我想看看你的控制台应用程序项目的 app.config 中的连接字符串。我下载了您的项目并将其指向 sfd 文件在您的数据库库项目中的位置,它似乎对我来说工作正常。在您的控制台应用程序中检查该位置并验证 SDF 确实存在。
标签: c# entity-framework dll sql-server-ce