簡體   English   中英

未插入ef核心1.1.0相關實體異步

[英]ef core 1.1.0 related entity async not inserted

EntityFramework核心1.1.0異步

var blog = new Blog
{
    Url = "http://blogs.msdn.com/dotnet",
    Posts = new List<Post>
    {
        new Post { Title = "Intro to C#" },
        new Post { Title = "Intro to VB.NET" },
        new Post { Title = "Intro to F#" }
    }
};

await _dbContext.Set<Blog>().AddAsync(blog);
await _dbContext.SaveChangesAsync();

生成的查詢

INSERT INTO [Blogs] ([Url])
VALUES (@p0);
SELECT [BlogId]
FROM [Blogs]
WHERE @@ROWCOUNT = 1 AND [BlogId] = scope_identity();

為什么在使用_dbContext.SaveChangesAsync()時未插入相關對象?

EntityFramework核心1.1.0同步

var blog = new Blog
{
Url = "http://blogs.msdn.com/dotnet",
Posts = new List<Post>
{
    new Post { Title = "Intro to C#" },
    new Post { Title = "Intro to VB.NET" },
    new Post { Title = "Intro to F#" }
}
};

_dbContext.Set<Blog>().Add(blog);
_dbContext.SaveChanges();

生成的查詢

SET NOCOUNT ON;
INSERT INTO [Blogs] ([Url])
VALUES (@p0);
SELECT [BlogId]
FROM [Blogs]
WHERE @@ROWCOUNT = 1 AND [BlogId] = scope_identity();
Microsoft.EntityFrameworkCore.Storage.IRelationalCommandBuilderFactory:Information: Executed DbCommand (4ms) [Parameters=[@p1='?', @p2='?' (Size = 4000), @p3='?' (Size = 4000), @p4='?', @p5='?' (Size = 4000), @p6='?' (Size = 4000), @p7='?', @p8='?' (Size = 4000), @p9='?' (Size = 4000)], CommandType='Text', CommandTimeout='30']
SET NOCOUNT ON;
DECLARE @toInsert0 TABLE ([BlogId] int, [Content] nvarchar(max), [Title] nvarchar(max), [_Position] [int]);
INSERT INTO @toInsert0
VALUES (@p1, @p2, @p3, 0),
(@p4, @p5, @p6, 1),
(@p7, @p8, @p9, 2);

DECLARE @inserted0 TABLE ([PostId] int, [_Position] [int]);
MERGE [Posts] USING @toInsert0 AS i ON 1=0
WHEN NOT MATCHED THEN
INSERT ([BlogId], [Content], [Title])
VALUES (i.[BlogId], i.[Content], i.[Title])
OUTPUT INSERTED.[PostId], i._Position
INTO @inserted0;

SELECT [t].[PostId] FROM [Posts] t
INNER JOIN @inserted0 i ON ([t].[PostId] = [i].[PostId])
ORDER BY [i].[_Position];

我不明白為什么同步工作和異步不能與相關實體一起工作。

這是EntityFramework Core 1.1.0中的錯誤嗎? 任何配置?

對不起,但是我做了工作上的改變

更改

await _dbContext.Set<Blog>().AddAsync(blog);

_dbContext.Set<Blog>().Add(blog);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM