草庐IT

c# - 如何在 EF 查询中执行日期比较?

请帮忙。我想弄清楚如何在linq查询中使用DATE或DATETIME进行比较。例子:如果我想要今天之前入职员工的所有员工姓名,我会在SQL中执行如下操作:SELECTEmployeeNameColumnFROMEmployeeTableWHEREStartDateColumn.Date但是linq呢?DateTimestartDT=//TodayvarEmployeeName=fromeindb.employeewheree.StartDateColumn上面的WHERE不起作用:ExceptionDetails:System.NotSupportedException:Thespec

c# - 用于更改列数据类型的 EF 迁移

我的项目中有一个模型如下:publicclassModel{publicintId{get;set;}publiclongFromNo{get;set;}publiclongToNo{get;set;}publicstringContent{get;set;}publiclongTicketNo{get;set;}}迁移如下publicoverridevoidDown(){AlterColumn("dbo.Received","FromNo",c=>c.Long(nullable:false));AlterColumn("dbo.Received","ToNo",c=>c.Long(n

c# - EF 迁移显示空的 Up() Down() 方法

我有一个本地数据库,目前是第二个版本,现在应该是第三个版本。之前迁移的代码是由另一个程序员生成的,所以我假设我在这里做错了什么。在我的模型中有大约30个类,在模型文件夹中有一个映射文件夹,它包含这30个类的映射。所以现在我以与之前那些类相同的方式添加了1个新类,然后在包管理器控制台中运行add-migration命令。不幸的是,我得到了一个空的迁移Up()和Down()方法。当我查看数据库时,有一个__migrationHistory可用于前2次迁移。如果我现在运行我的应用程序,还会添加第三次迁移,但显然不会创建新表,因为它不在Up()方法中。我做错了什么?我认为在构建之前的迁移时出现

c# - 一对零或一关系的 Entity Framework (EF) 代码优先级联删除

遵循Pluralsight"GettingStartedwithEntityFramework5"coursebyJulieLerman的“代码优先建模”部分,我创建了两个具有一对零或一关系的POCO类:一个父类(User)和一个可选子类(UserDetail)。UserandUserDetaildatamodeldiagram(clicktoview).请注意图中UserId属性是UserDetail的主键和外键。相关代码:publicclassUser{//...[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]pu

c# - EF 5 启用迁移 : No context type was found in the assembly

我有4个项目:Toombu.Entities:allmodelsarethereToombu.DataAccess:Mapping,RepositoryandToombuContextToombu.Logique:LogicofmyapplicationToombu.Web:MVC4application.WithallothersDLL.我尝试在Toombu.Web中启用迁移,但出现此错误:Nocontexttypewasfoundintheassembly如何启用迁移? 最佳答案 令我惊讶的是,没有人提到这个问题的明显答案:En

c# - 如何在EF6 Code First中创建枚举对应的表?

我关注了MSDN关于如何在EF6的代码优先中处理枚举。它工作正常,但是创建的表中引用枚举器的字段是一个简单的int。我希望生成第二个表,其值将遵循C#代码中枚举数的定义。因此,在MSDN上的示例中,我不仅希望获得与部门相对应的表,还希望看到第二个表中填充了来自Faculty的项目。p>publicenumFaculty{Eng,Math,Eco}publicpartialclassDepartment{[Key]publicGuidID{get;set;}[Required]publicFacultyName{get;set;}}研究这个问题时,我偶然发现了一个solution,这建议

c# - 可以使用 EF 迁移更新生产数据库吗?

根据thisblogpost据推测,大多数使用EF迁移的公司都不会使用EF迁移更新生产数据库的数据库模式。相反,博客文章的作者建议使用架构更新脚本作为部署过程的一部分。我已经使用模式更新脚本几年了,虽然它们有效,但我计划在未来使用EF迁移,原因如下:部署更快,停机时间更少更简单的部署过程比使用T-SQL更容易迁移现有数据等待应用的更改的更易于理解的语法(具有干净C#语法的DbMigration类与传统环境中笨拙的T-SQL迁移脚本)。如果新软件版本的部署失败,有一个简单快速的降级到旧数据库模式的途径我能想到的禁止使用EF迁移生产数据库的一个原因是,如果数据库架构仅由DBA而不是开发人员

c# - 带有 EF 代码的唯一键在前

我的项目中有以下模型publicclassCategory{publicGuidID{get;set;}[Required(ErrorMessage="Titlecannotbeempty")]publicstringTitle{get;set;}}我正在尝试将Title作为唯一键,我在google上搜索了解决方案,但没有找到任何解决方案。请问有人可以建议我怎么做吗? 最佳答案 不幸的是,您不能首先在代码中将其定义为唯一键,因为EF根本不支持唯一键(希望在下一个主要版本中计划)。您可以做的是创建自定义数据库初始化程序并通过调用SQL

c# - EF Code First 中的计算列

我需要在我的数据库中有一列由数据库计算为(行总和)-(行总和b)。我正在使用代码优先模型来创建我的数据库。我的意思是:publicclassIncome{[Key]publicintUserID{get;set;}publicdoubleinSum{get;set;}}publicclassOutcome{[Key]publicintUserID{get;set;}publicdoubleoutSum{get;set;}}publicclassFirstTable{[Key]publicintUserID{get;set;}publicdoubleSum{get;set;}//This

c# - 首先为 EF 代码的 CTP5 关闭 ProxyCreationEnabled 有什么缺点

我的WCF服务可以从代码优先模型返回类的唯一方法是使用以下代码将ProxyCreationEnable设置为false。((IObjectContextAdapter)MyDb).ObjectContext.ContextOptions.ProxyCreationEnable=false;这样做的负面后果是什么?一个收获是我至少可以序列化这些动态类型,以便可以使用WCF通过网络发送它们。 最佳答案 如果DbContext.Configuration.ProxyCreationEnabled设置为false,DbContext不会为某