两表用户认证

时间:2018-12-01 10:31:32

标签: c# asp.net-mvc asp.net-mvc-4

我有MVC-4项目,如果从“客户”表或“商家”表中的用户登录,则必须进行身份验证。

如果用户存在于该表中,我可以像下面的代码那样做。

if (User.Identity.IsAuthenticated && BlCustomer.Where(x => x.Email == User.Identity.Name).Any())

我的问题是当我在两个表上都有相同的用户时,我怎么知道哪个用户已登录?他来自客户表还是商人表? 原因表的设计不同,我无法将它们放在一张表中。

1 个答案:

答案 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

我希望它对您有用。