【问题标题】:Web Forms, Simple Membership & Database First to Class LibraryWeb 表单、简单成员和数据库优先类库
【发布时间】:2014-05-12 22:07:08
【问题描述】:

我的标题有点复杂,但我会非常简单地分解一下我在这里所做的事情。

我有一个包含大约 20 个表的现有数据库。我有一个项目,我的合作伙伴决定我们应该使用旧的简单成员身份而不是身份。这不再是摆在桌面上的选项,我们已经完成了这个决定。我们将使用 Visual Studio 2012 在 Web 窗体中创建项目,因为这是我们拥有的许可证。

第 1 步) 我在 VS 2012 中使用 Web 表单开始了一个新项目,并将默认连接字符串指向我当前的数据库并注册了一些用户。这创建了我在 SQL Server 2012 数据库中的成员资格所需的表。

第 2 步) 我在我的数据库中进行了一些关系映射,将现有表连接到需要的新成员身份 UserID,以便我现有的表现在与成员资格相关。

第 3 步) 这是我有点迷茫的地方,因为过去我通常将 SqlDataSources 与 Web 窗体一起使用。我对 MVC 有一些经验,所以我想在这个 Web 表单项目中做一些不同的事情,从 Database First 开始,将我的数据库表导入数据访问层,我正在考虑为此使用类库。

我的问题:首先将我的 EDMX 导入数据库时​​。我应该
A) 引入所有表(现有表 + 新成员表)
B) 只带入不属于会员资格的表格?
C) 引入我现有的表并且只引入用户和成员表?或者 D) 你有其他想法吗?

我对这个问题的推理是,我知道我可以访问 Web 窗体项目中的成员资格,但在类库中可能需要它,因为我的应用程序最终将非常以用户为中心。大量跟踪用户时间和登录、分配任务和项目、对该用户的权限等。我倾向于 (A)

我知道这是一个非常复杂的问题,或者我应该说它可能有很多答案,这都是由于我可能还不知道或我没有完全解释的事情。但我正在寻找方向,因为我从未以这种方式或在 Web 表单应用程序中首先使用过类库或数据库。

数据库快照:

【问题讨论】:

  • ArchiUsers 表是来自旧应用程序的旧用户表,很可能不会被使用,因为其中包含一些现有的用户数据。我计划使用的几乎所有其他东西,我已经绘制出了它们的关系,包括将它们连接到会员用户表。

标签: c# asp.net sql-server webforms ef-database-first


【解决方案1】:

您确实不需要在 EF 模型中包含 Membership 表。正如您所指出的,只要您在 Web.Config 文件中正确配置了 Membership 类,它就会处理它。

您应该只导入那些与您的应用程序相关的表。

只有在构建自定义成员资格提供程序时才需要导入成员资格表,这已经是老生常谈了。

至少,我个人不这样做。这也有助于使 EF 模型符合我的需要。

希望对你有帮助。

【讨论】:

  • 如果我在我的应用程序中使用 UserID 和 Roles 做了大量工作,那么将它们拉入我的实体是否明智?例如,我可以通过这种方式创建一个允许用户从用户中进行选择并将他们分配给特定任务的网格视图。或者我在我的项目中已经拥有的访问权限是否允许这样做。由于这个原因,似乎将 User 和 Roles 表拉入可能更容易。顺便说一句,感谢您的帮助!
  • 第二个问题)如果我首先使用数据库使用 EF 拉入数据库并安排我的模型等。然后我可以使用 EntityDataSource 连接到它,但如果在拉入这些实体之前,我创建一个类库,然后首先使用数据库将这些表拉入类库中的实体模型中,然后我会使用 ObjectDataSource 绑定到它吗?如果我完全不在那儿,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
相关资源
最近更新 更多