Entity Framework Code First 流畅 API 在 for 循环中设置字段属性

2023-12-07

我正在使用实体框架代码优先创建数据库表。我的模型类有十个小数字段。目前我正在像这样设置字段属性OnModelCreating method:

modelBuilder.Entity<Envelopes>().Property(p => p.cell_1_1).HasPrecision(18, 2);

由于我有十个字段,我正在考虑使用for循环来设置此精度属性,例如以下代码:

for( int i = 1; i <= 10; i++ ) {
    modelBuilder.Entity<Envelopes>()
                .Property(p => p.Equals("cell_1_"+i ))
                .HasPrecision(18, 2);
}

然而上面的代码给了我一个语法错误。

精度值可以这样设置吗?


这应该适合你 - 使用反射来获取类型的所有属性decimal在您的实体中,然后构建属性访问的表达式树,最后使用属性访问 lambda 将精度设置为所需的值。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    var properties = typeof(Envelopes).GetProperties()
                                      .Where(p => p.PropertyType == typeof(decimal));

    foreach (var property in properties)
    {
        var lambda = BuildLambda<Envelopes, decimal>(property);
        modelBuilder.Entity<Envelopes>()
                    .Property(lambda)
                    .HasPrecision(18, 2);
    }
}

static Expression<Func<T, U>> BuildLambda<T,U>(PropertyInfo property)
{
    var param = Expression.Parameter(typeof(T), "p");
    MemberExpression memberExpression = Expression.Property(param, property);
    var lambda = Expression.Lambda<Func<T, U>>(memberExpression, param);
    return lambda;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Entity Framework Code First 流畅 API 在 for 循环中设置字段属性 的相关文章

  • 我如何知道文件已打开或正在使用? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有办法检查文件是否正在使用 https stackoverflow com questions 876473 is there a way to check if a file is in use
  • 将浮点型转换为双精度型

    我正在尝试转换Single to Double同时保持原来的价值 我找到了以下方法 Single f 5 2F Double d1 f 5 19999980926514 Double d2 Double Parse f ToString 5
  • 检测 404 而不捕获异常

    简单功能 检查网络服务器是否返回非 200 HTTP 状态 Private Function RemoteFileOk ByVal Url As String As Boolean Dim req As HttpWebRequest Try
  • 未分配给变量的类实例是否会过早被垃圾回收?

    我什至不知道我的问题是否有意义 这只是我不明白的事情 并且在我的脑海中旋转了一段时间 考虑有以下课程 public class MyClass private int myVar public void DoSomething Do som
  • 转义字符串中的反斜杠

    我想知道什么是转义字符串中的反斜杠而不添加不必要的斜杠的好方法 我的意思是 通常如果我想转义字符串中的反斜杠 最简单的方法是使用String Replace 像这样 string s someString Replace 可以使用正则表达式
  • C#生成的csv文件通过电子邮件发送嵌入到Lotus Note中电子邮件的底部

    我遇到了一个奇怪的问题 即使用 NET SmtpClient 通过电子邮件发送的 CSV 附件出现在电子邮件底部 而不是 Lotus Note 中的附件 我只是不知道如何解决这个问题 而且我无法访问客户端计算机 这使得调试非常困难 我可以采
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • 实现“LazyProperty”类 - 这是一个好主意吗?

    我经常发现自己编写的属性是惰性评估的 就像是 if backingField null backingField SomeOperation return backingField 代码不多 但如果您有很多属性 它确实会重复很多次 我正在考
  • WPF DataGrid 排序后滚动到顶部

    我有一个使用数据网格的 Net 4 0 WPF 应用程序 目前 按列排序后 网格的滚动位置保持在排序前的位置 对于此应用程序 我需要在任何排序后滚动到网格顶部 我尝试过像这样处理排序事件 Private Sub myDataGrid Sor
  • 如何从实体框架中的 .edmx 文件生成数据库?

    我不得不突然转而使用 Code First Entity Framework 4 1 一开始我对这个框架一无所知 但在过去的 8 个小时里 我现在对阅读博客和文章感到更加自在 特别是这个博客 http blogs msdn com b ad
  • 公共领域还好吗?

    在你像我最初那样做出直觉反应之前 请阅读整个问题 我知道它们让你感觉很脏 我知道我们以前都被烧伤过 我知道这不是 好风格 但是公共场所可以吗 我正在开发一个相当大规模的工程应用程序 该应用程序创建并使用结构的内存模型 从高层建筑到桥梁再到棚
  • 了解 C# 中的协变和逆变接口

    我在一本有关 C 的教科书中遇到过这些内容 但我很难理解它们 可能是由于缺乏上下文 对于它们是什么以及它们有什么用处 是否有一个很好的简洁解释 编辑以澄清 协变接口 interface IBibble
  • DBNull 怎么会不等于 DBNull

    我有以下代码行 if DBNull Value Equals o o null where o is object o in row ItemArray我不断收到错误 gt Xml type List of xdt untypedAtomi
  • 正则表达式获取模式的最后一次出现

    我有一个字符串 我需要选择最后一次出现的模式 该字符串是 1302638400000 0 0 1302724800000 0 610 64999999999998 1302811200000 0 2266 6500000000001 130
  • 将 KeyDown 事件传递给其他控件

    我正在编写一个 C WinForms 应用程序 NET 4 0 我有一个WinFormsControl on a Form 用户开始使用键盘输入内容后 另一个Control出现 那Control是某种文本输入 我想将用户输入发送到该Cont
  • 从 Microsoft Chart Control 单击数据标记获取鼠标单击事件

    我的应用程序中有一个 net 4 0 点图 我想捕获鼠标在数据标记上的点击 当用户单击特定点时 我想转到绑定表中数据来自的行 此功能是否内置于 net 图表控件中 编辑 我发现我可能实际上想要光标位置值 而不是要求用户单击特定的数据点 一旦
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • 如何计算关联实体而不在实体框架中获取它们

    我想知道这个问题已经有一段时间了 所以我认为值得使用我的第一篇 Stack Overflow 帖子来询问它 想象一下我正在与关联的消息列表进行讨论 DiscussionCategory discussionCategory reposito

随机推荐

  • 如何使循环计数器不大于最终值?

    所以示例循环 do i 1 1 print i enddo print i 给我2作为最终值i 如何在 Windows 上设置 Intel Fortran for Visual Studio 以获得最终值1 for i 这就是 Fortra
  • 如何在 bash 脚本中有条件地添加额外参数?

    有一个调用另一个程序的脚本 以下是program sh 它可能看起来毫无意义 但我省略了很多细节 假设我想坚持原样的结构 usr bin env bash function run this usr bin foo A B C run th
  • JSON 对象的 Java 表示

    我正在尝试反序列化以下字符串 我对java有点陌生 我无法让它在我的一生中工作 我现在只想解码对象中的两个字符串 下面是我的 JSON 和 Java 类 我得到的结果变量正常 result true recentlyMarkedTerrit
  • Ionic 2,在离子段中使用谷歌地图

    我有一个小问题 Google 地图未显示在 ionic 2 分段中 但显示在分段之外 我正在使用以下代码 div div div div div div 我尝试过以下解决方案但没有成功 在外部 div 上使用 100 的高度和宽度 在地图加
  • Mono 2.4、AutoHosting 和 MVC

    mod mono 的 AutoHosting 可以修改为支持 ASP NET 吗 ATM机实际上不起作用 Link 有效 但运行时完全忽略 Global asax 并且不遵循路由约定 Mono 中 AutoHosting 的目的是通过减少配
  • 在视图控制器之间使用委托传递数据,无需任何导航控制器连接

    有许多在两个视图控制器之间传递数据的示例 其中一个视图控制器导航到另一个视图控制器 但是是否可以使用自定义协议和委托在未通过导航控制器连接的视图控制器之间传递数据 因此 一个例子是 三个视图控制器是 A B C A导航到B and B导航到
  • BigQuery 不处理带有分区列的毫秒时间戳

    我有一个 unix 时间戳列 在我的 csv 文件中以毫秒表示 现在 当我在 bigQuery 表中插入这些数据并查询它时 我收到此错误 bigQuery 不支持毫秒时间戳 现在我想将此列作为分区列 我有几个问题 1 即使我将其保存为int
  • 使用 Discord.js 获取所有公会 ID

    所以我想从我的机器人所在的服务器获取每个 ID 请以最好的方式列出一个列表 这样我就可以得到一个又一个的 ID 因为我的前缀系统需要它们 我尝试了很多设计 但效果都不理想 您可以使用Collection map to map Client
  • d3JS:从 CSV 绘制线段

    在 d3Js 中 如何从 tsv 文件中绘制基本线段 假设文件在一行数据中声明 x1 y1 x2 y2 我想绘制两条线段 如下面的数据所示 x0 y0 x1 y1 weight 0 5 0 5 0 2 0 2 2 0 25 0 35 0 7
  • 使用 IDE 时从 Powershell 调用第 3 方可执行文件时出错

    我有一个使用 du exe 的 PowerShell 脚本 磁盘使用情况最初来自 Sysinternals 来计算目录的大小 如果我跑du c Backup在控制台中 它按预期工作 但在 ISE 或 PowerGui 中运行的同一行代码给出
  • 股票代码查找 API [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否有某种 API 只提供
  • 从 IOS 将图像发送到 asp.net Web 服务

    在我的 IOS 应用程序中 我需要将图像发送到 ASP NET Web 服务 我正在尝试以字节形式存储图像 然后在服务器端将其转换回图像形式 现在我正在使用这些行将图像转换为 IOS 中的字节 NSData imageData UIImag
  • C++ 中无法识别 foreach

    在我的 cs106b 书中 我们使用表达式 foreach 来遍历 Map 中的单词列表 我实现了代码 然后把头撞在墙上 面对神秘的错误 这是代码 void DisplayWordCounts Map
  • Electron 回调只能调用一次

    我有一个简单的电子应用程序 它包含一个提示输入用户名和密码的网络应用程序 问题 1 当用户输入错误的凭据并且authWindow再次出现时 使用正确的凭据 不会发生第二次登录 2 当用户两次输入错误的凭据时 authWindow不再出现 任
  • 将解析后的数据提供给 RKMapperOperation 会抛出 NSUnknownKeyException

    请参阅我的其他问题了解背景 RestKit的动态映射能解决这个复杂的JSON映射吗 由于服务器构造我需要转换成的 json 数据的方式NSManagedObjects 我传递解析后的 json 来执行直接对象映射 如下所示 RKObject
  • 如何在jquery中单击时将轮播项目移动到中间

    如何使旋转木马将我点击到中间的项目居中 我到处寻找答案 但它们都不是直接的答案 有人可以帮助我吗 这是我到目前为止所做的 http jsfiddle net sp9Jv HTML div div a href class prev prev
  • 是否可以使用自动布局获取动态表视图部分标题高度?

    iOS 8 中的新增功能 您只需设置估计行高即可获得 100 动态表格视图单元格 然后使用自动布局在单元格中布局元素 如果内容的高度增加 单元格的高度也会增加 这非常有用 我想知道表视图中的节标题是否可以实现相同的功能 例如 可以创建一个U
  • 部署使用 PCRE 库的 C 应用程序

    我编写了一个使用 PCRE 库的 C 应用程序 一切都在我自己的电脑上运行 但是 当我将二进制文件复制到另一台计算机并运行它时 会出现以下错误 libexec ld elf so 1 未找到 myapp 所需的共享对象 libpcre so
  • 延迟作业 Rake 任务失败

    我试图让延迟的工作作为一项佣金任务来工作 但我一生都无法弄清楚我做错了什么 给出以下设置 config environment rb Rails Initializer run do config config gem delayed jo
  • Entity Framework Code First 流畅 API 在 for 循环中设置字段属性

    我正在使用实体框架代码优先创建数据库表 我的模型类有十个小数字段 目前我正在像这样设置字段属性OnModelCreating method modelBuilder Entity