c# - 是否可以使用 Fluent Entity Configuration 在 Entity Framework 中运行原始 SQL 查询?
问题描述
我正在使用 Entity Framework Code-First v 6.3.1 并尝试根据这篇文章运行原始 SQL 查询:
var result = context.ProcessStatuses.SqlQuery("SELECT * FROM ProcessStatus where Date_Modified=@datemodified", new SqlParameter("datemodified", processStatus.DateModified)).ToList();
但是,我得到了这个例外:
System.Data.Entity.Core.EntityCommandExecutionException: '数据读取器与指定的 'SqlUpgradeEFTests.ProcessStatusEntity' 不兼容。类型的成员“Uid”在数据读取器中没有同名的对应列。'
原因是我正在使用 Fluent Entity Configuration 并且我的 C# Entity 类属性名称与我的 DB 列名称不匹配。
上面的错误以“Uid”属性为例:
public partial class ProcessStatusEntity : ITriggerable
{
public string Uid { get; set; }
流利的实体映射配置:
Property(t => t.Uid)
.HasColumnName("m_uid")
.IsFixedLength()
.HasMaxLength(20)
.HasColumnOrder(0)
.IsUnicode(false);
在我的表中定义为:
CREATE TABLE [dbo].[ProcessStatus](
[m_uid] [char](20) NOT NULL,
我在网上看到的所有示例都显示了 C# 实体属性名称和数据库列名称之间的完全匹配。是否可以以它考虑流畅实体映射的方式在 EF Code-First 中运行 RAW SQL 查询?
解决方案
推荐阅读
- css - 在 Tailwind CSS 中对齐内容
- java - 除非我先输入,否则为什么 System.out.print() 不会打印?
- flutter - 命名参数“产品”是必需的,但没有相应的参数。飘飘然
- r - 在 R 中的 treedata 对象列表中添加一个新列
- python-3.x - 具有多个树视图小部件的 Python 树视图标题背景颜色
- node.js - 使用 Electron/Nodejs 将数据从服务器传递到 html
- visual-studio-2019 - Visual Studio 2019 - 无法将网站发布到本地文件夹
- c++ - 从第二个字符串组成一个字符串,字符顺序
- html - CSS在悬停时将背景颜色应用于div,但仅当链接悬停时
- node.js - 如何使用 Nodejs 将超链接添加到现有 PDF?