gpt4 book ai didi

c# - Entity Framework Linq何时查询Hints Sql数据库?

转载 作者:行者123 更新时间:2023-12-02 03:52:25 25 4
gpt4 key购买 nike

我是 Entity Framework 的新手。下面是我的代码,

因此,在我的代码中,我创建了数据库上下文的对象,然后我有一个查询“queryForAuthentication”,其中我使用了两个表“conDb.SystemMasters”并与 conDb.SystemAdminMasters 连接,因此将点击两次或如何它管得着吗?我想知道 Entity Framework 什么时候会进入数据库?

 QuizzrEntities conDb = new QuizzrEntities();
List<OnLoginData> lstOnLogoonData = new List<OnLoginData>();
string userpassWordHash = string.Empty;
var queryForAuthentication =from systemObj in conDb.SystemMasters
where systemObj.StaffPin == dminLoginInput.StaffPin
join admin in conDb.SystemAdminMasters on systemObj.SystemId equals admin.SystemID
select new
{
admin.PasswordSalt,
admin.PasswordHash,
systemObj.StaffPin,
admin.UserName,
admin.SystemID
};
if (queryForAuthentication.Count() > 0)
{
CheckStaffPin = true;
var GetUserUsingUsernamePasword = queryForAuthentication.Where(u => u.UserName.ToLower() == AdminLoginInput.UserName.ToLower());
if (GetUserUsingUsernamePasword.ToList().Count == 1)
{
checkuserName = true;
string DBPasswordSalt = queryForAuthentication.ToList()[0].PasswordSalt,
DBPasswordHash = queryForAuthentication.ToList()[0].PasswordHash,
StaffPin = queryForAuthentication.ToList()[0].StaffPin;
userpassWordHash = Common.GetPasswordHash(AdminLoginInput.Password, DBPasswordSalt);
if ((DBPasswordHash == userpassWordHash) && (AdminLoginInput.StaffPin.ToLower() == StaffPin.ToLower()))
{
checkPassword = true;
CheckStaffPin = true;
}
else if (DBPasswordHash == userpassWordHash)
{
checkPassword = true;
}
else if (AdminLoginInput.StaffPin.ToLower() == StaffPin.ToLower())
{
CheckStaffPin = true;
}


}

}

因此,在我的代码中,我创建了数据库上下文的对象,然后我有一个查询“queryForAuthentication”,其中我使用了两个表“conDb.SystemMasters”并与 conDb.SystemAdminMasters 连接,因此将点击两次或如何它管得着吗?我想知道 Entity Framework 什么时候会进入数据库?

最佳答案

每当您触发查询时,它就会访问数据库。每当您执行 ToList、First、FirstOrDefault 等操作时,查询都会被触发。到那时它只构建查询。

关于c# - Entity Framework Linq何时查询Hints Sql数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45004286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com