码迷,mamicode.com
首页 > 其他好文 > 详细

被Entity Framework Core的细节改进震撼了一下

时间:2017-01-20 00:29:31      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:查看   arc   str   语句   get   har   nvarchar   char   extent   

今天用 SQL Server Profiler 查看 Entity Framework Core 生成的 SQL 语句时,突然发现一个细节改进,并且被它震撼了一下:

exec sp_executesql NSELECT [u].[UserId]
FROM [Users] AS [u]
WHERE [u].[LoginName] = @__loginName_0,N@__loginName_0 nvarchar(128),@__loginName_0=Ntest

震撼之处就是这个 u(表的别名),它可不是 EF Core 随意起的名字,而是来自 LINQ 代码中的命名:

public IQueryable<User> GetByLoginName(string loginName)
{
    return _users.Where(u => u.LoginName == loginName);
}

对比一下 Entity Framework 生成的 SQL 语句:

exec sp_executesql NSELECT TOP (1) 
    [Extent1].[UserID] AS [UserID]    
    FROM [dbo].[uc_Users] AS [Extent1]
    WHERE (([Extent1].[LoginName] = @p__linq__0),N@p__linq__0 nvarchar(128),@p__linq__0=Ntest

这里的 Extent1 就是随意起的名字。

嗯,Entity Framework Core 干的漂亮!

被Entity Framework Core的细节改进震撼了一下

标签:查看   arc   str   语句   get   har   nvarchar   char   extent   

原文地址:http://www.cnblogs.com/dudu/p/6309037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!