Я прочитал пару сообщений, связанных с InsertOnSubmit, не работает, но ни одна из них не разрешает мою проблему. Ниже мой код, я вставляю вручную запись в мою таблицу BackupPlan, и когда я запускаю linq, выберите запись из базы данных и две новые записи, которые я попытался вставить ниже, возвращенные и отображаемые в журнале, но когда я проверил в проводнике сервера - > соединения данных -> таблица BackupPlan была только запись, которая была вставлена вручную, а не новые. Я также попытался обновить существующую запись и удалить без каких-либо успехов и без каких-либо исключений. Кроме того, я добавил идентификатор столбца и задал в качестве первичного ключа мою таблицу BackupPlan, проверил db.GetChangeSet() и вернул, что 2 вставных оператора ожидаются, но db.SubmitChanges() запускается без успеха. Любая идея, что я здесь отсутствует? ??? :(Linq InsertOnSubmit, DeleteOnSubmit и обновление не работает
using System.Data.Linq.Mapping;
namespace Storage.Models
{
[Table(Name = "BackupPlan")]
public class BackupPlan
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Id;
[Column]
public string Name;
[Column]
public string Description;
}
}
using System.Data.Linq;
using Storage.Models;
namespace Storage
{
public partial class Repository : DataContext
{
public Table<BackupPlan> BackupPlans;
public Repository(string connection):base(connection){}
}
}
using System;
using System.Data.Linq;
using System.Linq;
using Storage.Models;
using Storage.Properties;
namespace Storage
{
class Test
{
static void Main(string[] args)
{
try
{
var settings = new Settings();
var db = new Repository(settings.DatabaseConnectionString)
{Log = Console.Out, ObjectTrackingEnabled = true};
var backupPlan1 = new BackupPlan() {Description = "This is my first backup plan!", Name = "B Plan"};
db.BackupPlans.InsertOnSubmit(backupPlan1);
var backupPlan2 = new BackupPlan() {Description = "This is my first backup plan 2!", Name = "B22 Plan"};
db.BackupPlans.InsertOnSubmit(backupPlan2);
var t = db.GetChangeSet(); //shows that 2 inserts are pending
db.SubmitChanges(); // when i run this method i check my table but there are no any new records
var q = from b in db.BackupPlans
select b;
foreach (var backupPlan in q)
{
Console.WriteLine("\n{0}", backupPlan.Name);
}
Console.ReadKey();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
}
}
}
}
Есть ли какие-либо исключения? –
Вот мой файл конфигурации со строкой соединения xml version = "1.0" encoding = "utf-8" ?> <конфигурация> configSections> <добавить имя = "Storage.Properties.Settings.DatabaseConnectionString" ConnectionString = "Источник данных = | DataDirectory | \ Database.sdf" ProviderName = "Microsoft.SqlServerCe. Клиент.3.5 "/> connectionStrings> configuration> –
user2254602
Для такого основного вопроса я ожидал бы, что кто-то может помочь, но :( – user2254602