0

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

我以前使用过微风,因为将服务器端模型映射到客户端是一件轻而易举的事:)

我想知道我是否可以扩展我的代码或轻而易举地从 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 的实现?

任何建议谢谢:)

4

1 回答 1

0

我想你想要ContextProviderwhich 是EFContextProvider.

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

查看“No DB”示例,该示例使用ContextProvider来管理查询并保存到内存中的“数据库”。

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

于 2013-07-05T03:06:55.527 回答