问题标签 [dbset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8418 浏览

c# - DbSet.Add() 不工作

我有这样的课:

我的数据库:

在我的控制器中:

db.MemberActivations.Add(memberActivation); 不起作用。当我返回 json 时,dbset 不包括新创建的 memberActivation。我没有 db.SaveChanges() 因为在 memberActivation 被推送到数据库集之前它不会保存

0 投票
1 回答
47 浏览

methods - 访问 dbset 子类型的扩展方法

我有一个扩展方法定义为:

我遇到的问题是访问它 - CurrentItem 是 Item 的子类型。所以我试过:

我试过了

有什么建议么?

0 投票
1 回答
96 浏览

c# - 删除包含 DbSet 对象的 DbSet 对象

我编写了一个 C# MVC5 互联网应用程序,其中我有一个MapCompany具有List<MapLocation>. 我有一个DbSet<MapCompany>和一个DbSet<MapLocation>。当我在尝试删除MapCompany对象时调用删除操作结果时,我收到以下错误:

DELETE 语句与 REFERENCE 约束“FK_dbo.MapLocations_dbo.MapCompanies_MapCompany_Id”冲突。冲突发生在数据库“TestDatabase”、表“dbo.MapLocations”、列“MapCompany_Id”中。
该语句已终止。

MapLocations删除对象时是否需要删除所有关联MapCompany?如果是这样,最简单的方法是什么?有没有一种更简单/更好的方法,而不是遍历每个对象并手动删除每个对象?此外,在未来阶段,每个MapLocation都会有许多MapLocationItem对象。

0 投票
1 回答
339 浏览

entity-framework - 使用 OfType 对 EF6 进行单元测试

我正在尝试遵循Microsoft 为单元测试 DbSets提供的http://msdn.microsoft.com/en-us/library/dn314429.aspx指南。一切进展顺利——正如他们所记录的那样。直到我得到一些适用于继承表的代码。由于 OfType() 是一种扩展方法,我无法弄清楚如何创建一个 Mock 来保持我的代码可测试。

澄清一下:我正在尝试测试我的服务层,它采用一个注入的 DBContext,它公开了几个 DbSet。特别是,我有一个抽象的 History 类,它具有 StaffHistory、ContactHistory 等的具体派生类型。因此,我的 Dbcontext 上只有 1 个 DbSet,它是 History 类型。然后我使用扩展方法 OfType 设置鉴别器并查询特定类型。

当我创建一个 Mock DbSet 时,通常一切正常,除了 OfType 扩展方法失败,报告 NullReference 异常。

有什么想法或提示吗?

服务层:

单元测试代码:

我的方法有什么缺陷吗?我设置模拟的方式有什么缺陷吗?这是遵循我上面提到的 Microsoft 文章,以便我可以测试作用于 DbSet 的服务逻辑。唯一的缺陷似乎是扩展方法——不知道我应该如何解决这个问题。

0 投票
1 回答
179 浏览

entity-framework - ASP MVC / EF6 - 自动记录

我的数据库的每个表最后都有 2 列,允许记录(执行操作的用户和操作的日期)。编辑:我使用代码优先迁移。
所以我希望自动填充这两个日志记录列:

  1. 每次我在表中插入一个新条目时(使用 DbContext.[Model].Add(entry))

  2. 或者每次我执行 DbContext.SaveChanges() 操作时


我考虑过重写 DbContext.SaveChanges() 方法,但没有成功……

我也尝试过覆盖 DbSet Add() 方法,在那里执行日志填充操作。为此,我创建了一个继承自 DbSet 的 CustomDbSet 类:

但这也没有成功。
编辑:这个 CustomDbSet 发生的事情是任何 DbContext.[Model] 返回 null,现在(而不是填充数据库表的内容)

我已经有了将执行日志记录操作的扩展方法,但我没有知道把它放在哪里,所以日志记录将成为一个“自动”操作..

有什么想法可以实现吗?

0 投票
0 回答
503 浏览

c# - 使用实体框架的接口 6

我编写了一个 C# MVC5 Internet 应用程序,想知道是否可以将接口与 EF6 一起使用,如果不能,我应该如何编写我的类。

这是我所拥有的有效方法:

我有一个DbSet<TestObjectWithObjectList>. 当我将 a 添加TestObjectWithObjectList到 DbSet 时,我还将 a 添加TestObjectItemList<TestObjectItem>. 当我检索 时TestObjectWithObjectListList<TestObjectItem>计数为 1。

这是相同的代码,但带有List<ITestObjectItem>

我有一个DbSet<TestObjectWithInterfaceList>. 当我将 a 添加TestObjectWithInterfaceList到 DbSet 时,我还将一个TestInterfaceObjectItem(实现ITestObjectItem接口的)添加到List<ITestObjectItem>. 当我检索 时TestObjectWithInterfaceListList<ITestObjectItem>计数为 0。

是否可以让上述代码与 a 一起使用List<ITestObjectItem>?我想要做的是能够向 中添加许多对象List<ITestObjectItem>,并且能够通过获取TestObjectWithInterfaceList对象来检索它们。

提前致谢

0 投票
1 回答
670 浏览

unit-testing - 模拟数据库集使用 RhinoMocks 和 EF6

我在运行测试时收到此错误:System.NotImplementedException:成员 'IQueryable.Provider' 尚未在类型 'DbSet' 上实现......' 我看到了这篇关于创建 fakeDbSet 的博客文章,但那是在 EF6 之前。EF 6 有没有更好的方法来处理这个问题?

0 投票
2 回答
385 浏览

c# - DbSet<>.SqlQuery 插入几个变量值

我正在处理 ac# 项目,并且我已经使用 EntityFramework 创建了一个数据库。

这是数据库:

这是我的主要功能:

在方法 SampleSolution 上,我正在尝试执行

问题是,我不能使用 && 将变量值插入到我的表 Resultat 中。

有人知道如何在 C# 上将多个变量数据插入到表 Resultat 中吗?

在此先感谢,希望我提供了足够的详细信息。

问候。

0 投票
1 回答
1164 浏览

c# - 如何使用 || lambda 表达式中的运算符

如何使用 || (或)lambda 表达式中的运算符?

这是我尝试过的:

提前致谢

编辑

我想获取当前用户的资产列表,以及所有用户的所有资产。所有用户的资产都有一个 DefaultMapMarker 类别。

0 投票
1 回答
1440 浏览

c# - 简单模型中的 EF6 外键约束

我正在编写一个简单的 MVC 5 互联网应用程序。这是我的模型:

当我在 House 控制器中加载 Index 操作结果时,我收到此错误:

我可以请一些帮助来正确编码吗?

提前致谢

编辑

我现在已将ForeignKey属性添加到字段外键字段:

我仍然遇到同样的错误。