我正在尝试通过Entity Framework进行仅附加操作。
将Database.Log
路由到Trace.Write
。
考虑如下表格。
public class AzureBillingTest
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Team { get; set; }
}
以下代码:
dbContext.Entry(value).State = EntityState.Added;
dbContext.SaveChanges();
转换为:
INSERT [dbo].[AzureBillingTests]([Name], [Team])
VALUES (@0, @1)
SELECT [Id]
FROM [dbo].[AzureBillingTests]
WHERE @@ROWCOUNT > 0 AND [Id] = scope_identity()
-- @0: '175fb5c4cfa4474f8944ecec6f158fbb' (Type = String, Size = -1)
-- @1: 'billing' (Type = String, Size = -1)
-- Executing at 11/26/2015 11:45:21 AM -08:00
-- Completed in 182 ms with result: SqlDataReader
我想我知道为什么我们有[Id]的SELECT语句 - 用于加载到Entity对象中。纠正我,如果错了?
说,我不想将[Id]加载回Entity Framework来优化查询,我该怎么办?