可以在此处找到完整的代码:http://home.htw-berlin.de/~s0531210/eb/DataBaseTest.zip
这是一个带有测试实体框架的简单项目。 我有一个DLL,允许访问SQL Server Compact数据库。此访问由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();
}
}
}
我希望你们能帮助我。我不知道问题出在哪里。我搜索了互联网,我发现了一些关于persmission iusses的内容,但是connectionstring是reqiredpermissin = false。
答案 0 :(得分:0)
感谢提示连接字符串工作。数据库不在那里,来自consoleapp的App.config文件指向。但我不明白为什么dll中的连接字符串,哪一个也有一个App.config文件被忽略。如果我想,连接字符串只在DLL中可用,我是否必须通过命令手动设置DLL中的连接字符串?