entity framework查询生成的语句,为什么没有参数化?

dream__life 2018-01-16 12:02:38

[Table("Sys_User", Schema = "dbo")]
public class User
{
[Key]
public int ID { get; set; }

[Display(Name = "账号")]
[StringLength(20)]
[Required]
public string Account { get; set; }

[Display(Name = "姓名")]
[StringLength(20)]
[Required]
public string Name { get; set; }

[Display(Name = "所属部门")]
public int? DeptID { get; set; }

[Display(Name = "性别")]
[StringLength(10)]
[Required]
public string Sex { get; set; }

[Display(Name = "密码")]
[StringLength(50)]
[Required]
public string Password { get; set; }

[Display(Name = "邮箱")]
[StringLength(50)]
public string Email { get; set; }

[Display(Name = "是否启用")]
[Required]
public bool Enabled { get; set; }

[Display(Name = "工作电话")]
[StringLength(50)]
public string OfficePhone { get; set; }

[Display(Name = "手机号")]
[StringLength(50)]
public string CellPhone { get; set; }

[Display(Name = "备注")]
[StringLength(100)]
public string Remark { get; set; }

[Display(Name = "上次登录时间")]
public DateTime? LastLoginTime { get; set; }
[Display(Name = "创建时间")]
public DateTime? CreateTime { get; set; }

}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace WebApplication1.Models
{
public class EFContext : DbContext
{
public EFContext() : base("Default")
{

}

public DbSet<User> Users { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// 禁用默认表名复数形式
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

base.OnModelCreating(modelBuilder);


}
}
}


使用查询:

EFContext db = new EFContext();
Models.User u = db.Users.Where(p => p.Account == "admin").FirstOrDefault();


通过监听生成的SQL语句:

SELECT TOP (1)
[Extent1].[ID] AS [ID],
[Extent1].[Account] AS [Account],
[Extent1].[Name] AS [Name],
[Extent1].[DeptID] AS [DeptID],
[Extent1].[Sex] AS [Sex],
[Extent1].[Password] AS [Password],
[Extent1].[Email] AS [Email],
[Extent1].[Enabled] AS [Enabled],
[Extent1].[OfficePhone] AS [OfficePhone],
[Extent1].[CellPhone] AS [CellPhone],
[Extent1].[Remark] AS [Remark],
[Extent1].[LastLoginTime] AS [LastLoginTime],
[Extent1].[CreateTime] AS [CreateTime]
FROM [dbo].[Sys_User] AS [Extent1]
WHERE N'admin' = [Extent1].[Account]


为什么没有使用参数化查询条件呢,应该怎么配置,求教。
...全文
235 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧