如何在现有(实体框架)数据库中使用 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-first 和 database-first 方法,所以我为如何解决这个问题而进退两难。
你不能。但是,如果您对 AspNet 标识和您自己的表使用相同的数据库,则可能不需要这样做。
在这种情况下,您只需将所有 AspNet 标识表导入到您的 edmx 中,然后将它们用作任何其他实体。您还可以在数据库中的表和身份表之间创建 PK-FK 关系,这意味着您可以从 dbcontext 查询用户,获取他们的相关实体等。
因此,在这种情况下,身份将使用其连接字符串,而应用程序的其余部分将使用您的连接字符串。
如果您的数据库发生变化,您只需要小心更改两个连接字符串即可。
是否可以为我的表和 SqlProvider 表创建一个 EF 连接字符串,以便我可以做一些事情行:
MembershipUser newUser = Membership.CreateUser(
"username", "password",
"email", "question ",
"answer", true, out status
);
它将在 SqlProvider 创建的表中添加一个新用户。
我收到 "Keyword not supported: 'metadata'" 异常抛出,因为 SQLProvider 需要 ADO 连接字符串,但我必须使用 EF 连接字符串获取我的表。
据我所知,您不能在同一个项目中结合使用 code-first 和 database-first 方法,所以我为如何解决这个问题而进退两难。
你不能。但是,如果您对 AspNet 标识和您自己的表使用相同的数据库,则可能不需要这样做。
在这种情况下,您只需将所有 AspNet 标识表导入到您的 edmx 中,然后将它们用作任何其他实体。您还可以在数据库中的表和身份表之间创建 PK-FK 关系,这意味着您可以从 dbcontext 查询用户,获取他们的相关实体等。
因此,在这种情况下,身份将使用其连接字符串,而应用程序的其余部分将使用您的连接字符串。
如果您的数据库发生变化,您只需要小心更改两个连接字符串即可。