У меня здесь немного странное поведение, и я смотрю через Интернет и так, и я не нашел ответа.Linq to SQL не вставляет данные в базу данных
Я должен признать, что это мой первый опыт использования баз данных, я знаю, как использовать их с SQL, но никогда не использовал его на самом деле.
В любом случае, у меня есть проблема с вложением данных в приложение, я просто создал очень простой проект для тестирования этого и еще не решение.
У меня есть пример базы данных с Sql Server
Id - Int (ключ первичной идентичности) Name - NCHAR (10) (не нуль)
таблица называется "Человек", просто как пирог ,
У меня есть это:
static void Main(string[] args)
{
var db = new ExampleDBDataContext {Log = Console.Out};
var jesus = new Person {Name = "Jesus"};
db.Persons.InsertOnSubmit(jesus);
db.SubmitChanges();
var query = from person in db.Persons select person;
foreach (var p in query)
{
Console.WriteLine(p.Name);
}
}
Как вы можете видеть, ничего extrange.
Это показывает Иисуса в консоли. Но если вы видите данные таблицы, данных нет, просто пусто. Я комментирую создание и вложение объекта, и foreach не печатает вещь (нормальный, данных в базе данных нет)
Странно, что я создал строку в базе данных вручную, а Id - 2 и нет 1 (Был ли на самом деле играет LINQ с базой данных, но это не создает строку?)
Существует журнал:
INSERT INTO [DBO] .Person
VALUES (@ p0)
SELECT CONVERT (Int, SCOPE_IDENTITY()) AS [значение]
- @ p0: Вход NChar (Размер = 10; Prec = 0; Масштаб = 0) [Иисус]
- Контекст: SqlProvider (SQL2005) Модель: AttributedMetaModel Сложение: 3.5.30729.4926
SELECT [t0] [Id], [t0] [Имя] FROM [.. ПСЭ] [Человек] AS [t0]
- Контекст. SqlProvider (SQL2005) Модель: AttributedMetaModel Сложение: 3.5.30729.4926
Я действительно путают, Все блоги/книги использовать этот вид фрагмент для вставки элемента в базу данных.
Благодарим за помощь.
WAG - У вас есть два экземпляра вашей базы данных, с которыми L2S взаимодействует, и один из них вы создаете вручную в строке базы данных. – Will
Вы открыли транзакцию? – Gregoire
Когда вы смотрите на класс Person в дизайнере, отображается ли столбец идентификатора как автогенерированное значение? – tvanfosson