如何在现有(实体框架)数据库中使用 SqlProvider 表

How to use the SqlProvider tables in an existing (Entity-Framework) database

是否可以为我的表和 SqlProvider 表创建一个 EF 连接字符串,以便我可以做一些事情行:

MembershipUser newUser = Membership.CreateUser(
    "username", "password",
    "email", "question ",
    "answer", true, out status
);

它将在 SqlProvider 创建的表中添加一个新用户。

我收到 "Keyword not supported: 'metadata'" 异常抛出,因为 SQLProvider 需要 ADO 连接字符串,但我必须使用 EF 连接字符串获取我的表。

据我所知,您不能在同一个项目中结合使用 code-firstdatabase-first 方法,所以我为如何解决这个问题而进退两难。

你不能。但是,如果您对 AspNet 标识和您自己的表使用相同的数据库,则可能不需要这样做。

在这种情况下,您只需将所有 AspNet 标识表导入到您的 edmx 中,然后将它们用作任何其他实体。您还可以在数据库中的表和身份表之间创建 PK-FK 关系,这意味着您可以从 dbcontext 查询用户,获取他们的相关实体等。

因此,在这种情况下,身份将使用其连接字符串,而应用程序的其余部分将使用您的连接字符串。

如果您的数据库发生变化,您只需要小心更改两个连接字符串即可。