如何在现有(实体框架)数据库

时间:2018-04-09 19:23:26

标签: c# entity-framework ado.net

是否可以使用我的表和 SqlProvider 表创建 EF 连接字符串,以便我可以执行以下操作:

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

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

我正在设置一个“不支持的关键字:'元数据'”异常抛出,因为SQLProvider需要一个ADO连接字符串,但我必须使用EF连接字符串来获取我的表。

据我所知,你不能在同一个项目中结合代码优先数据库优先方法,所以我陷入了如何解决的两难境地这个问题。

1 个答案:

答案 0 :(得分:1)

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

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

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

如果数据库发生更改,您必须小心更改两个连接字符串。