2010-04-07 4 views
2

Я думаю, это продолжение последнего вопроса, который я задал: bulk insert and update with ADO.NET Entity Framework.LINQ EF не сохраняется в базе данных

Я не получаю никаких ошибок при выполнении вставок, но данные на самом деле не попадают в мою БД. Моя БД - это SDF-файл (SQL CE). Любые идеи, что проверить?

Мой app.config выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    </configSections> 
    <connectionStrings> 
    <add name="Lab_Use_Billing.Properties.Settings.LabUseConnectionString" 
     connectionString="Data Source=|DataDirectory|\Models\LabUse.sdf" 
     providerName="Microsoft.SqlServerCe.Client.3.5" /> 
    <add name="LabUseEntities" 
     connectionString="metadata=res://*/Models.LabUseEntities.csdl|res://*/Models.LabUseEntities.ssdl|res://*/Models.LabUseEntities.msl; 
          provider=System.Data.SqlServerCe.3.5; 
          provider connection string=&quot;Data Source=|DataDirectory|\Models\LabUse.sdf&quot;" 
     providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

ТИА

ответ

5

Позвольте мне угадать, ваша БД локальная база данных на вашем компьютере? Попробуйте найти в папке отладки проекта базу данных и посмотреть, есть ли у нее изменения ...

Просто добавьте базу данных отладки в новое соединение в проводнике сервера и обновите, чтобы увидеть, есть ли изменения ...

+1

Voila! Там они. Теперь, почему он не подключается к тому месту, где указывает строка подключения вместо версии Bin/Debug? Когда я пойду освободить это, что мне делать, чтобы убедиться, что это работает? –

+1

@Keith Будет работать, база данных, на которую вы смотрите, - это база данных, находящаяся в папке проекта, но файл базы данных создается в отдельной отладочной папке. Я не знаю, почему, но я потратил около 3 дней на изучение этого, потому что у меня была такая же проблема в одном из моих проектов ... Когда вы перейдете к Развертыванию, он будет использовать один файл базы данных. – Mike

1

Можете ли вы опубликовать код, который используется для создания строк в базе данных?

Я предполагаю, что вы newing вверх контекст объекта, а затем использовать что-то вроде:

 myContext.AddToWidgetSet(widget); 
     myContext.SaveChanges(); 
+0

Если вы перейдете по ссылке, которую я поставил, код там (хотя с тех пор он немного изменился). По сути, то, что вы написали, правильно. –

+0

Ошибка, о которой вы упоминали в своем предыдущем сообщении («Не удалось обновить EntitySet« ImportDoorAccess », потому что в элементе для поддержки текущей операции существует элемент DefiningQuery, и ни один элемент не существует».), Когда база данных db для объекта имеет первичный ключ не указан. В таблице базы данных ImportDoorAccess указан столбец первичного ключа? Если это так, то это столбец идентичности? – DShultz

+0

Получив последний ответ, у него есть ОП. Не столбец идентификации, а скорее 2 столбца на дату и номер значка. Сейчас это работает нормально. С другим ответом, указанным здесь, я считаю, что я решил. Я ценю ваше время и силы, помогая мне! –

Смежные вопросы