Где разместить MembershipReboot в мультипроектном решении
В предыдущем проекте я использовал https://github.com/brockallen/BrockAllen.MembershipReboot качестве поставщика услуг членства, однако в то время не было доступного NugetPackage, поэтому я скопировал код и немного переместил вещи.
У меня было решение, которое выглядело примерно так.
Solution.Common //database connection helpers, base repos, etc
Solution.DataModels //Contained UserAccount model (I put all datamodels here so I would never have to worry about circular references) All projects depended on this project.
Solution.Authentication //Services, like Add New Account were placed here
Solution.RandomServices
Solution.WebApp //MVC Project (Referenced Solution.Authentication)
Что ж, теперь я вижу, что могу установить MembershipReboot через NuGet. Но я не уверен, в какой проект я должен установить его.
Мое текущее проектное решение выглядит следующим образом.
Sol.Common //Defines "BaseEntity" which UserAccountModel will need to inherit
Sol.Database //Contains all of the EF Entities, Repositories, and Migrations
Sol.Services //References Sol.Database to connect to repositories for data acess.
Sol.WebApp //References all of the above projects
Все примеры на странице GitHub являются решениями для одного проекта. Я не уверен, как или если я могу использовать пакет Nuget, чтобы позволить UserAccountModel наследовать BaseEntity. В идеале, IUserAccountRepository должен существовать в Sol.Database, а UserAccountServices - в Sol.Services.