我在這裏有一點點/奇怪的行爲,我在網上查找,所以我沒有找到答案。Linq to SQL沒有將數據插入到數據庫
我不得不承認,這是我第一次使用數據庫,我知道如何使用它們與SQL,但從來沒有實際使用它。
無論如何,我的應用程序插入數據時遇到了問題,我只是創建了一個非常簡單的項目,用於測試並且沒有解決方案。
我與SQL Server的實例數據庫
標識 - INT(標識主鍵) 名稱 - 的nchar(10)(NOT NULL)
的表稱爲 「人」,就這麼簡單餡餅。
我有這樣的:
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);
}
}
正如你所看到的,沒有什麼交流中心。
它在控制檯顯示耶穌。但是如果你看到表格數據,就沒有數據,只是空的。我評論對象的創建和插入和foreach不打印的東西(正常,沒有數據庫中的數據)
奇怪的是我手動創建了一個數據庫中的行,ID是2和1號(是真的LINQ與數據庫玩,但它沒有創建行?)
有日誌:
INSERT INTO [DBO] .Person
VALUES(@ p0)
SELECT CONVERT(Int,SCOPE_IDENTITY())AS [value]
- @ p0:Input NChar(Size = 10; Prec = 0;標度= 0)[耶穌]
- 上下文:sqlProvider的(SQL2005)型號:AttributedMetaModel體形:3.5.30729.4926
SELECT [T0] [ID],[T 0] [姓名] FROM [。 DBO] [人] AS [T 0]
- 語境:sqlProvider的(SQL2005)型號:AttributedMetaModel體形:3.5.30729.4926
我真的很困惑,所有的博客/書籍都使用這種片段將元素插入數據庫。
謝謝你的幫助。
WAG - 您有兩個數據庫實例,一個是L2S正在與之交互,另一個是您手動創建數據庫行。 – Will 2010-03-18 16:22:28
Heve您打開了一個事務嗎? – Gregoire 2010-03-18 16:23:18
當您查看設計器中的Person類時,標識列是否顯示爲自動生成的值? – tvanfosson 2010-03-18 16:23:37