EntityFramework 6、MongoDB和Identity

5
我正在使用WebAPI项目,希望能够在其中使用Entity Framework 6和Mongodb。
我通过以下链接设置了我的Mongodb数据库和Entity Framework Code First模型: http://cdn.rssbus.com/help/DG1/ado/pg_efCodeFirst.htm 现在,我想让Entity Framework和Asp.net Identity 2一起基于Mongodb工作。然而,我找不到任何方法或模块可以实现它。我找到了下面的代码片段,但是它要求卸载Entity Framework: https://github.com/g0t4/aspnet-identity-mongo 所以,您是否知道任何教程或经验,可以使Mongodb成为支持EF Code First和Identity的数据库?
谢谢。

"Entity Framework和Asp.net Identity 2基于Mongodb协同工作",您如何看待这种工作方式?具体需要哪些要求?" - trailmax
我想使用Mongodb数据库而不是SqlServer数据库,但我遇到了一些问题。如果我使用标准的Identity 2,它无法与Mongodb配合使用。如果我使用aspnet-identity-mongo,则无法使用ef code first。因此,我不知道如何同时使用EF code first + aspnet-identity-mongo + mongodb。 - dalton5
EF与Mongo不兼容,所以你不能同时拥有它们。要么选择EF,要么选择Mongo。或者将领域数据和用户存储在Mongo中,使用EF;或者将领域数据存储在Mongo中,但使用SQL Server和EF来管理身份认证。 - trailmax
补充@trailmax的评论,EF6根本不支持任何非关系型数据存储。EF7将支持包括nosql在内的非关系型数据库。目前,他们有一个与Azure表存储一起工作的概念验证API。我预计最终也会为其他nosql数据库提供程序。 - Julie Lerman
感谢您的输入。 - dalton5
1个回答

8

好的,我终于找到了解决方案。

我不再使用EF。

我正在使用AspNet Identity Mongo和我编译的V2分支。

https://github.com/InspectorIT/MongoDB.AspNet.Identity/tree/v2

我正在使用MongoRepository作为我的Model的存储库。

https://github.com/RobThree/MongoRepository

我已经开发了一个DataService来管理我的模型的增删改查操作。

 public class DataService
{
    public static MongoRepository<ModelClass> ModelClass{ get { return Singleton<MongoRepository<ModelClass>>.Instance; } }


}

public class Singleton<T> where T : class, new()
{
    Singleton() { }

    private static readonly Lazy<T> instance = new Lazy<T>(() => new T());

    public static T Instance { get { return instance.Value; } }
}

而且我很好。

谢谢,


你用什么代替 EF 进行映射? - c-sharp-and-swiftui-devni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接