breezjs serverside contexprovider对entityframework的依赖程度如何?

时间:2013-07-03 11:50:38

标签: breeze

我正在为拥有自己的数据提供者的CMS构建WebApi。没有涉及DBContext或实体框架。

我之前使用过breeze,因为将服务器端模型映射到客户端是如此轻而易举:)

我想知道我是否可以扩展我的代码或微风,以免我从brezejs获得所有东西。

我必须使用的是以下基于CMS中数据提供程序实现的接口。

public interface IC1Repository<T>
{
    IQueryable<T> GetAll();
    T Add(T item);
    void Remove(T item);
    bool Update(T item);
}

它是通用的,因此不会在客户端上运行。

我可以生成一个上下文类,我认为它可以包含所有暴露的类型。

public class mycontext
{
public IC1Repository<Category> Categories { get; set; }
public IC1Repository<Customer> Customers { get; set; }
public IC1Repository<Employee> Employees { get; set; }
}

接下来的步骤是什么,让这个工作轻而易举。是否有任何可以实现的接口,它模仿DbContext。我可以创建不与数据库通信的自定义DbSet,但只是上面的IC1Repository的实现吗?

任何建议,谢谢:)

1 个答案:

答案 0 :(得分:0)

我认为你想要 ContextProvider 这是EFContextProvider的基类。

它具有与EFContextProvider相同的语义和相同的基本行为,但它不使用EF。

查看the "No DB" sample使用ContextProvider来管理查询并保存到内存中的“数据库”。

忽略这个类位于DLL中并引用EF的事实。我意识到这很烦人。但是当没有EF组件时,你的项目将编译并运行得很好。如果您使用NuGet获取Breeze.WebApi.dll,则可以删除所有EF内容。