1

我正在开发一个包含 2 个项目的 ASP.NET 解决方案。一个是 Web 界面,另一个包含我的业务逻辑。我在第二个项目中使用 LINQ to SQL 进行数据访问。

除了我的数据库之外,我还有一个名为 Users 的表,其中包含用户信息。

我已经开始实施 MembershipProvider。我注意到 MembershipUser 与 MembershipProvider 相结合。让我的 BLL/DAL 谈论用户的最正确方法是什么?我是否应该最低限度地实现 MembershipUser 并且每当用户调用一个方法时,它都会调用例如。我的 BLL/DAL 中的 GetUserInfo(),以获取有关用户的完整信息?

或者我应该让 MembershipUser 类方法在 BLL/DAL 中调用我的自定义“用户”类方法(如包装器)(这个自定义用户类与 linq 无关)?

或者我可以以某种方式将 Linq 扩展到 sql 类“CFUsers”以扩展 MembershipUser。

我希望这是有道理的。

4

1 回答 1

1

我通常认为这是一个单独的实体,因为 MembershipUser 围绕会员资格展开,这是一个普遍关注的问题,而您系统中的用户围绕您的域所需的任何内容展开,我确实看到您的观点,这两个实体可以包含在一个中,所以。配置文件绝对是最简单的方法。

http://msdn2.microsoft.com/en-us/lib...US,VS.80).aspx上的 MSDN 文档有一个演练,在http://weblogs.asp上来自 Scott Guthrie 的一个很好的演练 。网络/scottgu/archi...18/427754.aspx

与往常一样,这取决于您的目标是什么。添加到配置文件是附加数据的简单机制。它只需要很少的定制方式,就可以轻松地为 Web 应用程序提供信息。这可能不是您想要存储此类数据的位置;如果不是,这是一个非解决方案。

如果这不合适,则从默认提供者派生一个新的提供者(以继承您已有的提供者)是一个不错的选择。当然还有终极http://codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/

于 2010-01-07T13:59:55.373 回答