【问题标题】:Is it possible to use asp.net Dynamic Data with EF + Repository pattern是否可以将 asp.net 动态数据与 EF + Repository 模式一起使用
【发布时间】:2012-03-21 12:42:30
【问题描述】:

我希望使用asp.net dynamic data 搭建一堆Web 表单页面。当直接进入实体框架时,这些教程非常适合。但是,我们使用的是通用存储库(提供多租户层),有没有人有任何关于存储库模式如何处理动态数据的示例?

【问题讨论】:

    标签: entity-framework-4.1 repository-pattern asp.net-dynamic-data


    【解决方案1】:

    我正在使用存储库模式执行 Linq to SQL,并且使用存储库模式的 EF 也是可能的。

    public class BaseRepository : IDisposable
        {
            protected MyDataContext dc = null;
            private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();        
            protected BaseRepository()
            {
                dc = new MyDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["My_ConnectionString"].ConnectionString, mappingSource);
            }
        }
    
    I have an interface to my Object Repository :
    
    
    
    interface IObjectRepository
        {
        ...
        }
    
    and the object Repository:
    
    
    
    public class ObjectRepository : BaseRepository, IObjectRepository
        {
            private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    
            public ObjectRepository()
            {
                    IList<Foo> GetFoos = GetFoos()
    {
    ...
    }
            }
        }
    

    【讨论】:

    • 很有趣,谢谢@Ash,你能用 DynamicData 吗?
    • 是的,我让它在 Dynamic Data 4.0 中工作。我只是使用部分类在 L2S 提供的 DBML 设计器文件之上添加 DD 元数据。
    • 谢谢 Ash,我目前遇到的特殊问题是将页面模板绑定到存储库。由于默认情况下他们使用的是实体数据源,我猜我需要找到一种使用对象数据源的方法,但以某种方式检测要使用哪个存储库?或者你有没有走另一条路并避免使用页面模板(我现在正在这样做)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多