LINQ to SQL的不插入数据到数据库(Linq to SQL not inserting da

2019-09-26 05:24发布

我有一个小/怪异行为在这里和Im寻找在互联网和SO,我没有找到一个响应。

我不得不承认,这是我第一次使用的数据库,我知道如何将它们与SQL使用,但从来没有使用过它实际上。

不管怎么说,我有我的应用程序中插入数据时出现问题,我刚刚创建了一个非常简单的项目,用于测试和无解呢。

我与SQL Server的实例数据库

ID - 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(中间体,SCOPE_IDENTITY())AS [值]

- @ P0:输入NCHAR(尺寸= 10; PREC = 0;量表= 0)[耶稣]

- 背景:sqlProvider的(SQL2005)型号:AttributedMetaModel体形:3.5.30729.4926

SELECT [T 0]。[ID],[T 0]。[名] FROM [DBO]。[人] AS [T 0]

- 背景:sqlProvider的(SQL2005)型号:AttributedMetaModel体形:3.5.30729.4926

我真的很困惑,所有的博客/书籍都使用这种片段的一个元素插入到数据库中。

感谢您的帮助。

Answer 1:

第一; 你有一个TransactionScope跨越这一点,你有没有犯。

然而,更多的liktely:这是你与系统(而不是一个单独的数据库服务器)中部署的数据库文件 ? 如果是这样,每次你打一次“构建”等,它直接复制您的解决方案文件夹中的版本到生成输出(BIN /调试或斌/释放)。

看看在生成输出复印件; 看看是否已经更新。



文章来源: Linq to SQL not inserting data onto the DB