Полный код можно найти здесь: http://home.htw-berlin.de/~s0531210/eb/DataBaseTest.zipEntity Framework доступа оленьей кожи через DLL к базе данных
Это простой проект с тестированием Entity Framework. У меня есть DLL, которая позволяет получить доступ к базе данных SQL Server Compact. Этот доступ происходит с помощью Enttiy Framework 5.0.
Второй проект - консольное приложение, которое обращается к этой DLL. При вызове класса из DLL для хранения выборочных данных в базе данных исключение является «Ошибка основного поставщика Open».
Это исключение возникает при вызове: 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.
И работает ли метод getFrom? (Btw: очень неэффективный способ фильтрации). –
Проблема будет с ConnectionString и как/где фактические файлы db. Отправьте ConnectionString для запуска. –
Да, я бы посмотрел строку подключения в app.config для вашего проекта консольного приложения. Я загрузил ваш проект и указал его на место, где файл sfd находится в вашем проекте библиотеки базы данных, и, похоже, он отлично работает для меня. Проверьте это местоположение в консольном приложении и убедитесь, что SDF на самом деле там. – Bearcat9425