无法隐式转换类型“ pottery_store.datalayer.domain.user” “布尔”
我正在尝试为我的项目使用干净的体系结构。对于“登录”部分,我在存储库中制作了一个想要检查的方法,即用户存在此“电子邮件”和“密码”。现在我面对这个错误。请帮助我解决此错误,并在此处编写真实的代码。问题是“通过此电子邮件和密码存在用户”方法。
using Pottery_store.DataLayer.Context;
using Pottery_store.DataLayer.Domain;
using Pottery_store.DataLayer.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Pottery_store.DataLayer.Repositories
{
public class UserRepository : IUserRepository
{
Pottery_storeDbContext _context;
public UserRepository(Pottery_storeDbContext context)
{
_context = context;
}
public int AddUser(User user)
{
_context.Users.Add(user);
return user.UserId;
}
public void DeleteUser(int userId)
{
//_context.Remove(_context.Users.Where(x => x.UserId == userId));
var user = GetUserById(userId);
DeleteUser(user);
}
public void DeleteUser(User user)
{
// _context.Remove(_context.Users.Where(x => x.UserId == user.UserId));
_context.Remove(user);
}
public void EditUser(User user)
{
_context.Users.Update(user);
}
public IEnumerable<User> GetAllUsers()
{
return _context.Users;
}
public User GetUserByActiveCode(string activeCode)
{
//return _context.Users.Find(activeCode);
return _context.Users.SingleOrDefault(u => u.ActiveCode == activeCode);
}
public User GetUserById(int userId)
{
// return _context.Users.Find(x => x.UserId == userId);
return _context.Users.Find(userId);
}
public bool IsEmailExist(string email)
{
return _context.Users.Any(u => u.Email == email);
}
public bool IsUserNameExist(string userName)
{
return _context.Users.Any(u => u.UserName == userName);
}
**public bool IsUserExistByThisEmailAndPassword(string email, string password)
{
return _context.Users.SingleOrDefault
(u => u.Email == email && u.Password == password);
}**
public void Save()
{
_context.SaveChanges();
}
}
}
I'm trying to use clean architecture for my Project. for "Log in" part I made a method in repository that want to check is user exist wit this "email" and "password". now I faced with this error. please help me to solve this error and write true codes here. The Problem is "Is User Exist By This Email And Password" method.
using Pottery_store.DataLayer.Context;
using Pottery_store.DataLayer.Domain;
using Pottery_store.DataLayer.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Pottery_store.DataLayer.Repositories
{
public class UserRepository : IUserRepository
{
Pottery_storeDbContext _context;
public UserRepository(Pottery_storeDbContext context)
{
_context = context;
}
public int AddUser(User user)
{
_context.Users.Add(user);
return user.UserId;
}
public void DeleteUser(int userId)
{
//_context.Remove(_context.Users.Where(x => x.UserId == userId));
var user = GetUserById(userId);
DeleteUser(user);
}
public void DeleteUser(User user)
{
// _context.Remove(_context.Users.Where(x => x.UserId == user.UserId));
_context.Remove(user);
}
public void EditUser(User user)
{
_context.Users.Update(user);
}
public IEnumerable<User> GetAllUsers()
{
return _context.Users;
}
public User GetUserByActiveCode(string activeCode)
{
//return _context.Users.Find(activeCode);
return _context.Users.SingleOrDefault(u => u.ActiveCode == activeCode);
}
public User GetUserById(int userId)
{
// return _context.Users.Find(x => x.UserId == userId);
return _context.Users.Find(userId);
}
public bool IsEmailExist(string email)
{
return _context.Users.Any(u => u.Email == email);
}
public bool IsUserNameExist(string userName)
{
return _context.Users.Any(u => u.UserName == userName);
}
**public bool IsUserExistByThisEmailAndPassword(string email, string password)
{
return _context.Users.SingleOrDefault
(u => u.Email == email && u.Password == password);
}**
public void Save()
{
_context.SaveChanges();
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您只是在寻找一个存在,则可能只能坚持使用
任何()
。如果只想验证一个存在,请用null
比较您当前的结果。仅验证一个存在一个问题,就会提出应在何处发生验证并提出错误的问题,但这与您的问题是一个单独的对话。存在
单身
If you are just looking for an exists you should probably just stick with
Any()
. If wanting to verify only one exists, compare your current result withnull
. Verifying only one exists brings up the issue of where that validation should occur and error thrown, but that is a separate conversation from your question.Exists
Single