我有MVC-4项目,如果从“客户”表或“商家”表中的用户登录,则必须进行身份验证。
如果用户存在于该表中,我可以像下面的代码那样做。
if (User.Identity.IsAuthenticated && BlCustomer.Where(x => x.Email == User.Identity.Name).Any())
我的问题是当我在两个表上都有相同的用户时,我怎么知道哪个用户已登录?他来自客户表还是商人表? 原因表的设计不同,我无法将它们放在一张表中。
答案 0 :(得分:0)
您可以通过登录用户的主键和数据库中的名称来比较身份用户属于哪个表。
您可以由此获得用户ID。
SELECT
CustomerId,
SUM(Bills.BillAmount) AS BillAmountTotal,
SUM(COALESCE(Pay.Paid, 0)) AS [Payments]
FROM
Bills
LEFT OUTER JOIN
(SELECT
BillId,
SUM(PaymentAmount) AS [Paid]
FROM
BillPayments
GROUP BY
BillId) Pay ON Pay.BillId = Bills.Id
GROUP BY
CustomerId
我希望它对您有用。