LINQ to SQL Insert

时间:2009-01-15 09:06:57

标签: linq linq-to-sql

我正在使用LINQ To SQL通过db.table.InsertOnSubmit()执行插入。我想知道是否有一种方法可以重现'不存在的地方(选择等等)的T-SQL版本开始插入到etc etc end中作为单个查询?谢谢,马丁

2 个答案:

答案 0 :(得分:3)

LINQ有一个名为Contains的扩展方法,它允许此功能。这可以在以下示例中看到:

NorthwindDataContext dc = new NorthwindDataContext();
dc.Log = Console.Out;
var query =
    from c in dc.Customers
    where !(from o in dc.Orders
            select o.CustomerID)
           .Contains(c.CustomerID)
    select c;
foreach (var c in query) Console.WriteLine( c );

注意where子句的否定!

此示例来自网站here

答案 1 :(得分:2)

据我所知,没有什么可以构建,我们必须使用where而不是Insert来手动查找行。

此类查询中存在种族编码的可能性。看看这个帖子的详细解决方案:

http://social.msdn.microsoft.com/Forums/en-US/linqtosql/thread/b1a0eb5b-d5d3-41af-829f-bbbac47b7383/