问题标签 [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.
c# - DbSet.Add() 不工作
我有这样的课:
我的数据库:
在我的控制器中:
db.MemberActivations.Add(memberActivation); 不起作用。当我返回 json 时,dbset 不包括新创建的 memberActivation。我没有 db.SaveChanges() 因为在 memberActivation 被推送到数据库集之前它不会保存
methods - 访问 dbset 子类型的扩展方法
我有一个扩展方法定义为:
我遇到的问题是访问它 - CurrentItem 是 Item 的子类型。所以我试过:
我试过了
有什么建议么?
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
对象。
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 的服务逻辑。唯一的缺陷似乎是扩展方法——不知道我应该如何解决这个问题。
entity-framework - ASP MVC / EF6 - 自动记录
我的数据库的每个表最后都有 2 列,允许记录(执行操作的用户和操作的日期)。编辑:我使用代码优先迁移。
所以我希望自动填充这两个日志记录列:
每次我在表中插入一个新条目时(使用 DbContext.[Model].Add(entry))
或者每次我执行 DbContext.SaveChanges() 操作时
我考虑过重写 DbContext.SaveChanges() 方法,但没有成功……
我也尝试过覆盖 DbSet Add() 方法,在那里执行日志填充操作。为此,我创建了一个继承自 DbSet 的 CustomDbSet 类:
但这也没有成功。
编辑:这个 CustomDbSet 发生的事情是任何 DbContext.[Model] 返回 null,现在(而不是填充数据库表的内容)
我已经有了将执行日志记录操作的扩展方法,但我没有知道把它放在哪里,所以日志记录将成为一个“自动”操作..
有什么想法可以实现吗?
c# - 使用实体框架的接口 6
我编写了一个 C# MVC5 Internet 应用程序,想知道是否可以将接口与 EF6 一起使用,如果不能,我应该如何编写我的类。
这是我所拥有的有效方法:
我有一个DbSet<TestObjectWithObjectList>
. 当我将 a 添加TestObjectWithObjectList
到 DbSet 时,我还将 a 添加TestObjectItem
到List<TestObjectItem>
. 当我检索 时TestObjectWithObjectList
,List<TestObjectItem>
计数为 1。
这是相同的代码,但带有List<ITestObjectItem>
:
我有一个DbSet<TestObjectWithInterfaceList>
. 当我将 a 添加TestObjectWithInterfaceList
到 DbSet 时,我还将一个TestInterfaceObjectItem
(实现ITestObjectItem
接口的)添加到List<ITestObjectItem>
. 当我检索 时TestObjectWithInterfaceList
,List<ITestObjectItem>
计数为 0。
是否可以让上述代码与 a 一起使用List<ITestObjectItem>
?我想要做的是能够向 中添加许多对象List<ITestObjectItem>
,并且能够通过获取TestObjectWithInterfaceList
对象来检索它们。
提前致谢
unit-testing - 模拟数据库集使用 RhinoMocks 和 EF6
我在运行测试时收到此错误:System.NotImplementedException:成员 'IQueryable.Provider' 尚未在类型 'DbSet' 上实现......' 我看到了这篇关于创建 fakeDbSet 的博客文章,但那是在 EF6 之前。EF 6 有没有更好的方法来处理这个问题?
c# - DbSet<>.SqlQuery 插入几个变量值
我正在处理 ac# 项目,并且我已经使用 EntityFramework 创建了一个数据库。
这是数据库:
这是我的主要功能:
在方法 SampleSolution 上,我正在尝试执行
问题是,我不能使用 && 将变量值插入到我的表 Resultat 中。
有人知道如何在 C# 上将多个变量数据插入到表 Resultat 中吗?
在此先感谢,希望我提供了足够的详细信息。
问候。
c# - 如何使用 || lambda 表达式中的运算符
如何使用 || (或)lambda 表达式中的运算符?
这是我尝试过的:
提前致谢
编辑
我想获取当前用户的资产列表,以及所有用户的所有资产。所有用户的资产都有一个 DefaultMapMarker 类别。
c# - 简单模型中的 EF6 外键约束
我正在编写一个简单的 MVC 5 互联网应用程序。这是我的模型:
当我在 House 控制器中加载 Index 操作结果时,我收到此错误:
我可以请一些帮助来正确编码吗?
提前致谢
编辑
我现在已将ForeignKey
属性添加到字段外键字段:
我仍然遇到同样的错误。