我正在开发一个包含2个项目的ASP.NET解决方案。一个是Web界面,另一个是我的业务逻辑。我在第二个项目中使用LINQ to SQL进行数据访问。
除了我的数据库之外,我还有一个名为Users的表,用于保存用户信息。
我已经开始实施MembershipProvider。我注意到MembershipUser与MembershipProvider配合使用。让我的BLL / DAL谈论用户最正确的方法是什么? 我是否应该最低限度地实现MembershipUser,并且每当用户调用方法时,它将调用例如。我的BLL / DAL中的GetUserInfo(),以获取有关用户的完整信息?
或者我应该使MembershipUser类方法在BLL / DAL中调用我的自定义“Users”类方法(如包装器)(此自定义用户类与linq无关)?
或者我可以以某种方式将Linq扩展到sql类“CFUsers”以扩展MembershipUser。
我希望这是有道理的。
答案 0 :(得分:1)
我通常认为这是一个单独的实体,因为MembershipUser围绕成员身份,这是一个普遍关注的问题,系统中的用户围绕着你的域所需要的任何东西,我确实看到你的观点,这两个实体可以包含在一个,所以。个人档案绝对是最简单的方式。
有关MSDN文档的讨论 http://msdn2.microsoft.com/en-us/lib...US,VS.80).aspx和a 来自Scott Guthrie的精彩演练 http://weblogs.asp.net/scottgu/archi...18/427754.aspx
一如既往取决于你的目标。添加到Profile是一种简单的机制 用于其他数据。它只需要很少的定制和 使信息可以轻松地用于Web应用程序。这可能不是 您要存储此类数据的位置;如果没有,这是一个非解决方案。
如果这不适合,则从默认值(到 继承你已经拥有的东西)是一个很好的选择。 当然还有最终http://codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/