- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试模拟实现 IDbSet<T>
,而我恰好在 F# 中这样做。
type MockDbSet<'T when 'T : not struct>(items:seq<'T>) =
let collection = ResizeArray(items)
new () = MockDbSet(Seq.empty)
interface IDbSet<'T> with
member x.Add entity = collection.Add entity; entity
member x.Attach entity = collection.Add entity; entity
member x.Remove entity = collection.Remove entity |> ignore; entity
member x.Create() = Unchecked.defaultof<'T>
member x.Create<'TD when 'TD : not struct and 'TD :> 'T>() = Unchecked.defaultof<'TD>
member x.Find([<ParamArray>] values) = raise <| NotImplementedException()
member x.Local = Collections.ObjectModel.ObservableCollection(collection)
interface System.Collections.Generic.IEnumerable<'T> with
member x.GetEnumerator() =
collection.GetEnumerator() :> System.Collections.Generic.IEnumerator<_>
interface System.Collections.IEnumerable with
member x.GetEnumerator() =
collection.GetEnumerator() :> System.Collections.IEnumerator
interface IQueryable<'T> with
member x.ElementType = typeof<'T>
member x.Expression =
collection.AsQueryable().Expression
member x.Provider =
collection.AsQueryable().Provider
member x.Create<'TD when 'TD : not struct and 'TD :> 'T>() = Unchecked.defaultof<'TD>
error FS0698: Invalid constraint: the type used for the constraint is sealed, which means the constraint could only be satisfied by at most one solution
warning FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'TD has been constrained to be type ''T'.
error FS0663: This type parameter has been used in a way that constrains it to always be ''T when 'T : not struct'
error FS0661: One or more of the explicit class or function type variables for this binding could not be generalized, because they were constrained to other types
TDerivedEntity Create<TDerivedEntity>()
where TDerivedEntity : class, TEntity
abstract Create : unit -> 'TDerivedEntity when 'TDerivedEntity : not struct and 'TEntity
最佳答案
方法Create
需要 2 个泛型类型参数之间的子类型约束。恐怕没有办法将子类型约束添加到基于 F# 中另一个的泛型类型参数。它们总是被假定为相等的,见 spec表单 type :> 'b 的新约束再次解决为 type = 'b.
看到这个相关的answer到类似的问题。
我们应该要求包括this下一个 F# 版本中的功能。
关于entity-framework - 是否可以在 F# 中实现 IDbSet<T> 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23643989/
我确信这是非常基本的,但我在构建通用方法时遇到了问题。我有无数在我的 DBContext 中声明的接口(interface)类( IDbSet 、 IDbSet 等)。我想将它们传递给处理它们的方法。
有没有办法使用这个答案中描述的方法No FindAsync() method on IDbSet对于 DbContext 的 DbSet 属性? 编辑: 链接的答案包含如何构建从 IDbSet 继承的
我正在尝试在一个新项目中对我的第一个存储库进行单元测试,我们决定在该项目中主要使用 EF6 来处理异步内容。我在为我的模型伪造 IDbSet 并允许在使用新的异步细节之前使用任何 Linq 时遇到问题
public abstract class RepositoryBase : IRepository where T : class { private ShopCoreDbContext d
有什么区别 public IDbSet Chirps { get; set; } 和 public DbSet Chirps { get; set; } 它们一样吗? 最佳答案 Sam I am's
给定一个 IDbSet,其中 Person 包含一个“Id”属性,我如何才能执行以下命令: var p = PersonDbSet.FirstOrDefault(i=>i.Id = 3); 我可以构建
我根本无法让它工作。我的测试中有这段代码: MockRepository repository = new MockRepository(); IDbSet userSet = repository.
FindAsync() 是否有原因? IDbSet 中省略了方法界面? Find是界面的一部分,异步版本不可用似乎很奇怪。我需要转换到 DbSet访问它,这有点麻烦: User user = awai
我正在尝试模拟 System.Data.Entity.IDbSet 以使其返回一些数据(在本例中只是一个空集合): var mock = new Mock>(); mock.Setup(x => x.
我正在尝试模拟 System.Data.Entity.IDbSet 以使其返回一些数据(在本例中只是一个空集合): var mock = new Mock>(); mock.Setup(x => x.
我想使用 IDbSet<> 实现通用存储库模式 Entity Framework 的接口(interface)。 当我问IDbSet时来自 Autofac,它应该解析 IDbContext然后调用它的
我想让 visual studio 创建的 T4 模板将我的实体输出为 IDbset 而不是 DbSet,知道怎么做吗? 最佳答案 我假设您已经有一个生成 DbContext 的 t4 模板.所以只需
我们在单元测试中有一个场景,我们在其中创建了一个实现 IDbSet 的 FakeDbSet。在 FakeUnitOfwork 中,我有一些属性是 IDbSets 并使用 FakeDbSet 进行更新。
我正在尝试基于 MyFinance 创建一个基础存储库类首先使用实体框架代码的示例。我想将其更改为仅使用 Entity Framework 。该示例使用 IDbSet ,但我不知道要将其更改为普通
我以前从未真正做过单元测试,而且我在第一次测试时跌跌撞撞。问题在于 _repository.Golfers.Count(); 始终指示 DbSet 为空。 我的测试很简单,我只是想添加一个新的高尔夫球
我正在尝试模拟实现 IDbSet ,而我恰好在 F# 中这样做。 type MockDbSet(items:seq) = let collection = ResizeArray(items)
在 EF 4.1+ 中,这两行代码之间有区别吗? dbContext.SomeEntitySet.Add(entityInstance); dbContext.Entry(entityInstance
我正在尝试使用Moq对 Entity Framework Code First 类进行一些测试。我对起订量和模拟技术非常陌生,我想知道是否可以轻松地进行我将在下面描述的测试。我在网上搜索了一些解决方案
我正在尝试使用 Moq 框架模拟 IDbSet。单元测试应向现有模拟 DbSet 集合 (SetUp) 添加新记录(实体)并返回新集合的计数。 我的 TestInitialize 设置如下所示: pu
我正在通过实现 IDbSet 接口(interface)来实现 FakeDataSet 类。作为实现此接口(interface)的一部分,我必须实现 Find 方法。我所有的实体类都有一个 Guid
我是一名优秀的程序员,十分优秀!