【问题标题】:If I use ASP.NET identity, am I stuck with EF?如果我使用 ASP.NET 身份,我会坚持使用 EF 吗?
【发布时间】:2014-07-12 01:59:59
【问题描述】:

我最近开始学习 ASP.NET,经过阅读,我决定尝试使用身份验证用户。我已经阅读了几篇关于自定义模型的文章,例如实现我自己的 UserStore 类以提供持久性(如果我想将身份验证信息存储在其他地方)。

但我喜欢经典的 SQL DB,我不喜欢实体框架代码优先方法(我不知道 EF,我使用 LINQ to SQL 作为我的 ORM)。我被它困住了吗? UserManager 需要一个 IdentityDBContext,它是一个 EF 上下文类,不是吗?

我应该这样做:

1) 为我的应用程序逻辑的其余部分创建一个新数据库,为 ORM 使用 LINQ - 似乎可行,但不是解决此问题的正确方法

2) 将其余记录放入同一个数据库,为它们创建 LINQcontext,并有效地拥有 2 个上下文,每个上下文都有一半的类 - 这似乎有点疯狂

3)别再偷懒了,学习 EF,添加额外的 DBset 属性到 ApplicationDBContext 并为所有内容提供 1 个上下文。但是,例如,如果我已经有一个填充了来自任何用户的数据库,并且需要为此开发应用程序怎么办?这似乎是一种数据库优先的方法,然后呢?

我该怎么办?还是有其他选择?

我正在使用网络表单(似乎更容易进入),在 VS2013 中开发。

提前致谢!

【问题讨论】:

  • 选择第三个选项。从一开始你可能会感到不舒服,但后来你会喜欢它。另一件事,如果您对用户凭证内容感兴趣,请阅读此内容。 msdn.microsoft.com/en-us/library/vstudio/…logcorner.wordpress.com/2013/08/29/…
  • 您不喜欢 EF 的哪些方面?有许多关于使用它的教程和信息。此外,您不必使用 Code First 方法 - 您可以将实例指向您的数据库并让 EF 生成您的类对象
  • 谢谢大家的回复。正如我所说,我不想使用 EF,因为我不熟悉它,并且想把注意力集中在学习 ASP.NET 上,而不是另一个 ORM。那么我将如何改变身份的代码优先方法呢?我知道我生成的 User 类必须实现 IUser 接口。然后呢?
  • 为什么要从 Web 窗体开始学习 ASP.NET?为什么不是MVC?实体框架,对于大多数实际目的,应该取代 LINQ-to-SQL,并且在如何实现构造查询方面更加优化。
  • WebForms 似乎更...熟悉。我已经习惯了桌面应用程序中的 WinForms(我知道我知道,很古老)并且 WinForms -> MVC 比 WinForms->Webforms 迈出了更大的一步(至少对我来说它看起来是那样的)。

标签: c# asp.net entity-framework webforms


【解决方案1】:

您绝对不需要使用 EF。

您应该阅读this article,了解有关如何实现自己的数据持久性机制的更多信息。

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 2017-10-13
    • 2017-01-28
    • 1970-01-01
    • 2022-12-17
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多