实体框架不通过DLL访问数据库

时间:2013-07-10 20:06:36

标签: c# entity-framework dll sql-server-ce

可以在此处找到完整的代码: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。

1 个答案:

答案 0 :(得分:0)

感谢提示连接字符串工作。数据库不在那里,来自consoleapp的App.config文件指向。但我不明白为什么dll中的连接字符串,哪一个也有一个App.config文件被忽略。如果我想,连接字符串只在DLL中可用,我是否必须通过命令手动设置DLL中的连接字符串?