c# – SubSonic 3简单存储库问题

c# – SubSonic 3简单存储库问题,第1张

概述我使用Subsonic 3的简单存储库模式来存储和从数据库获取值.我想知道是否应该使用Singleton patten来创建SimpleRepository,或者应该在需要时创建一个.就像我有这样的Person类: public class Person{ public void Save() { var repo=new SimpleRepository("co 我使用Subsonic 3的简单存储库模式来存储和从数据库获取值.我想知道是否应该使用Singleton patten来创建SimpleRepository,或者应该在需要时创建一个.就像我有这样的Person类:

public class Person{    public voID Save()    {        var repo=new SimpleRepository("constr"); //CREATE REPO HERE        repo.Add<Person>(this);    }    public voID Load(int ID)    {        var repo=new SimpleRepository("constr");//CREATE REPO HER        .....    }}

或者像这样访问repo

public class Person{    public voID Save()    {        var repo=RepoHelper.GetRepository();//GET FROM SINGLetoN OBJECT        repo.Add<Person>(this);    }    public voID Load(int ID)    {        var repo=RepoHelper.GetRepository();        .....    }}
解决方法 我使用单例类.当您拥有集中式数据存储时,这似乎是正确的.我允许您在一个地方管理存储库的类型.还有一个优点是它可以更容易地从重新定位类型切换.

public static class Repository{    static SimpleRepository repo;    public static IRepository GetRepository()    {        if (repo == null)        {            lock (repo)            {                repo = new SimpleRepository("namedConnectionString",SimpleRepositoryOptions.RunMigrations);            }        }        return repo;    }}

PS.我还构建了一个基本记录类来执行Save()和管理外部关系.

总结

以上是内存溢出为你收集整理的c# – SubSonic 3简单存储库问题全部内容,希望文章能够帮你解决c# – SubSonic 3简单存储库问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1227752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存