完整的代碼可以在這裏找到:http://home.htw-berlin.de/~s0531210/eb/DataBaseTest.zip通過DLL實體框架犯規訪問數據庫
這是一個簡單的項目與測試實體框架。 我有一個允許訪問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();
}
}
}
我希望你們能幫助我。我不知道問題出在哪裏。我搜索了互聯網,發現了一些關於持久性錯誤的東西,但連接字符串reqiredpermissin = false。
並且getFrom方法是否正常工作? (順便說一句:非常低效的過濾方式)。 –
問題將出現在ConnectionString以及實際數據庫文件的方式/位置。發佈ConnectionString以啓動。 –
是的,我會看看你的控制檯應用程序項目的app.config中的連接字符串。我下載了你的項目,並將其指向sfd文件在數據庫庫項目中的位置,它似乎對我來說工作正常。在您的控制檯應用程序中檢查該位置,並確認SDF實際存在。 – Bearcat9425