EF5 Code First - 数据注释与 Fluent API [重复]

2024-01-14

我是实体框架新手,即将开始使用 EF5 Code First 的新 ASP.NET MVC 项目。

据我了解,您可以对域模型对象中的属性使用数据注释,也可以使用 Fluent API 来定义属性数据类型(创建对象时在数据库中)、大小、是否是可空等等。

是否有通用的推荐方法可供选择?

我不明白如何在使用数据注释时,在数据库中创建该属性时指定该属性的数据类型和大小,而使用 Fluent API 看起来您可以执行以下操作:

Property(g => g.ModelName).HasColumnType("varchar");
Property(g => g.ModelName).HasMaxLength(100);
Property(g => g.ModelName).IsRequired();

例如,当使用数据注释时,默认情况下它似乎对我的所有字符串属性使用 nvarchar(MAX) 。

有没有办法使用数据注释来完成上述操作?它是否提供与 Fluent API 相同程度的“调整”,或者我应该单独保留域模型并将所有这些“调整”分开,以将每个域模型对象的 Fluent API 类分开?


我会推荐 Fluent API。数据注释是一个子集,例如不包括关系的级联删除。

此外,您可能会考虑使用持久性逻辑(例如不适当的数据库列名称)来污染您的模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF5 Code First - 数据注释与 Fluent API [重复] 的相关文章

  • MVC3 和实体框架

    我的问题很简单 将 edmxMVC3 项目的 Web 应用程序的模型文件夹中的文件吗 我的答案非常简单 不要用数据访问逻辑和数据建模搞乱表示层 整个 MVC 应用程序 Visual Studio 解决方案中从下到上至少有 4 个项目 1 P
  • 使用 IQueryable 进行单元测试代码

    我被要求为某些功能编写一些单元测试 但坦率地说 我不太确定这样做的必要性或有用性对于这个特殊的一段代码 我绝不试图质疑单元测试的必要性或有用性 所讨论的代码非常简单并且被大量使用 基本上它是 Skip 和 Take 扩展方法的包装 在我看来
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • 为什么 DbSet 不是协变的?

    我有一个工厂函数来返回DbSet Of IItemType 实际的返回类型始终是一个实现IItemType 例如DbSet Of CategoryType 我认为泛型支持协方差 并且此方法可以正常工作 但是当我尝试运行代码时出现异常 无法转
  • Dynamic Linq 的执行延迟 IQueryable

    我在用动态链接 https www nuget org packages System Linq Dynamic执行一些查询 抱歉 但这是我唯一的选择 结果 我得到了IQueryable而不是IQueryable
  • 如何将字符串解析为 UNIQUEIDENTIFIER?

    我正在编写一个实体框架 LINQ 查询 其中我想将字符串解析为 UNIQUEIDENTIFIER 又名 GUID 作为WHERE clause public IEnumerable
  • 如果我以后要应用ado实体框架,推荐的数据访问层设计模式是什么?

    我正在创建一个网站并使用 Linq to SQl 作为数据访问层 并且我愿意使该网站可以在 linq to sql 和 ado 实体框架上工作 而无需更改其他层中的许多内容 业务逻辑层或 UI层 实现这一目标的推荐模式是什么 你能简单解释一
  • 使用 lambda 对多列进行分组

    如何使用 lambda 对多列进行分组 我看到了如何使用 linq toEntity 执行此操作的示例 但我正在寻找 lambda 形式 var query source GroupBy x gt new x Column1 x Colum
  • Automapper实体框架外键为空

    我正在尝试使用实体框架更新数据库 我使用自动映射器将实体映射到视图模型 并以相同的方式将其映射回来 HttpPost ValidateAntiForgeryToken public ActionResult Edit FromJson My
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • MVC5 实体框架的问题

    我在我的 Web 应用程序中使用 Visual Studio 2013 中的 ASP NET MVC5 Entity Framework 6 我正在尝试我的模型工作 但由于某种原因而出现错误 我已经尝试过 Fluent API 和它自己的模
  • Entity Framework Core 中的两个外键

    我在使用 Entity Framework Core 创建数据库时使用代码优先方法 我想创建两个指向同一个表的外键 我的示例显示用户表将保存用户 ID 消息表将保存接收者 ID 和发送者 ID 这意味着两个值必须指向同一个表 用户代码 pu
  • 限制实体框架中子实体的数量

    底线在前 有没有一种简洁的方法可以限制可以属于实体框架中父级的子实体的数量 我现在使用的是4 3 1 问题 我正在开发一个 ASP NET MVC3 站点 它通过使用实体框架的数据访问层访问数据 我有一个 SearchList 实体 它与搜
  • 将 F# 类型保存到数据库

    A lot http gorodinski com blog 2013 02 17 domain driven design with fsharp and eventstore f 文章数推荐 http fsharpforfunandpr
  • 为什么 EF Core 使用此存储过程总是返回 -1?

    我正在尝试对本地 2016 DB 使用 EF Core 最新版本 并且我得到 1每次都回来 我不知道我做错了什么 我知道它正在到达数据库 我查了一下 int returnCode dbContext Database ExecuteSqlC
  • 缺少 EF ObjectContext.SaveChanges

    我正在一个新项目中使用实体框架 我从一年前就开始使用 EF 今天 我尝试使用 Visual Studio 2008 SP1 和 2010 生成实体数据模型 它正在生成对象上下文属性和实体集 但尚未生成 SaveChanges 方法 我什至尝
  • 使用实体框架从 2 个表返回数据

    我正在使用 MVC3 和实体框架 但我需要来自不同表的更多数据 通常我会做这样的事情来从表中获取数据 Table Users id username 在代码中我会做这样的事情来获取所有用户 public static IEnumerable
  • 我可以将 MongoDB 与实体框架一起使用吗?

    实体框架有可能支持MongoDB数据库吗 有人写过实体框架MongoDB Provider吗 简短的回答 不 这肯定是可能的 但不合理 MongoDB 是文档数据库 不支持集合之间的任何物理关系 EF 非常适合 SQL MySQL 等关系数
  • 处理 LINQ sum 表达式中的 null

    我正在使用 LINQ 查询来查找列的总和 并且在少数情况下该值有可能为空 我现在使用的查询是 int score dbContext domainmaps Where p gt p SchoolId schoolid Sum v gt v
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重

随机推荐

  • 如何创建频道然后找到ID

    我正在创建一个频道message guild channels create 我该如何找到该频道的消息 ID 并在新创建的频道中发送消息 message guild channels create bug priority reportPr
  • JS中获取未知单键的对象的值

    如何获取具有未知单键的对象的值 例子 var obj dbm 45 我想在不知道其密钥的情况下获得 45 值 我知道我可以循环对象键 始终是一个 for var key in objects var value objects key 但我
  • 实现登录(身份验证)屏幕的最佳实践是什么?

    我想在我的应用程序中实现登录屏幕并寻找最佳实践 假设这段代码 public class LoginActivity extends Activity public void onCreate Bundle icicle super onCr
  • Restful Api Express postgres 数据库

    我正在使用node和express开发一个restful api 我的数据库是postgresql 我需要使用postgres包pg promise 我知道我需要将我的应用程序与 app js 文件中的数据库连接 但我的问题是 我应该如何在
  • iPhone 4" 屏幕上的 xcassets 无法提取正确的图像

    我正在尝试将 Images xcassets 实现到我正在开发的项目中 据我了解 我可以将不同设备的所有不同大小的图像放在那里 然后调用 UIImage imageNamed name of image set 它将返回我正在处理的设备的正
  • Access 和 SQL Server 计算日期的方式不同

    我们有一些通用工具 除其他外 可以保存和显示日期 它将把它保存为一个数字 例如 41247 如果我将其转换回 Access 中的日期 我会得到 2012 12 04 这是正确的 使用 Format 41247 常规日期 或 Format F
  • 将 XML jQuery 对象转换为字符串

    我有一个上传的 xml 文件 我正在使用 jQuery 通过var ts parseXML filecontents 在 XML 文档中查找对象时 我尝试使用以下方法转换回原始源 div append ts find Object clon
  • “新运营商”和“新运营商”之间的区别?

    新运营商 和 新运营商 有什么区别 我通常会尝试用不同的措辞来更好地区分两者 但无论如何 这是一个好问题 Operator new 是一个分配原始内存的函数 至少在概念上 它与malloc 尽管这相当不寻常 除非您正在编写类似自己的容器的东
  • 如何修复无法转换类型错误?

    我想创建一个有关电影的详细信息页面 但我收到此错误并且有点卡住了 我收到无法转换类型错误 我确实理解该错误 但我不知道如何修复它 这是 PAP 实体的索引 也是数据库实例 public class MoviesController Cont
  • NSToolbarItem 的自动样式/着色

    有没有办法告诉 OS X 自动设置样式 着色NSToolbarItem 我通过 IB Xcode 添加了一个 图像工具栏项 并将图标设置为黑色 PDF如文档中所述 https developer apple com library mac
  • 如何在组件类中使用调度(react-redux)

    My code class LoginPage extends Component render return div div
  • 什么是 text/ping?这是一个新标准吗?它依赖于浏览器吗?

    我正在对 Google 上的某些问题进行故障排除 并看到从浏览器到 Google 服务器的此请求 它是非阻塞的 这是新事物吗 它的文档在哪里 Chrome 是否不等待响应 Request URL https www google com u
  • 使用 C# 动态构建 XML

    我必须根据用户输入动态创建一个 XML 文件 这是我的想法 但我遇到了两个问题 如果存在相同元素的集合 MaxOccurs 10 例如 如果用户输入了 4 个帐户 那么我的代码应该如何 如果有选择的话 根据所选元素 子元素应该发生变化 有人
  • Linux 点阵打印机上的 Java 打印质量

    我需要将报告从 Java 桌面应用程序打印到点阵打印机 Epson LX 300 II 报告由文本和一些图形组成 打印机通过 USB 连接 我使用 CUPS 进行打印 我正在使用 Printable 接口 Java 中相当标准 进行打印 我
  • 尝试在 JFrame 中显示 URL 图像

    尝试在 JFrame 窗口中显示 URL 图像 如果工作正常 当程序运行时 应该打开一个窗口显示图像 尝试尝试 URL 和硬盘路径 import java awt image BufferedImage import java io IOE
  • MVC6 Cors - 拦截飞行前

    我正在将 WebApi 升级到 MVC6 在 WebApi 中 我可以拦截每个 HTTP 请求 如果是预检 我可以使用浏览器可接受的标头进行响应 我试图弄清楚如何在 MVC6 WebApi 中做同样的事情 这是 WebApi 代码 prot
  • 似乎无法在 text() 和 textfield() 之间使用 Spacer()

    当我在 HStack 中并尝试在 Text 和 Textfield 视图之间创建空间时 我似乎无法使用 Spacer 函数 间隔器用于间隔视图的其他区域 但每当我尝试在这两个元素之间间隔时 它就不起作用 这是我正在使用的代码 VStack
  • Kendo UI MVC 4:窗口内的表单验证不会触发

    使用 ASP NET MVC 4 我声明了一个窗口 其中通过 LoadContentFrom 加载了内部内容 表单 Html Kendo Window Name windowAttachClient Title Attach Client
  • d3.json() 回调中的代码未执行

    我正在尝试加载 GeoJSON 文件并使用它作为 D3 的基础来绘制一些图形v5 问题是浏览器跳过了包含在d3 json 称呼 我尝试插入断点来测试 但浏览器会跳过它们 我不明白为什么 下面的代码片段 d3 json trip animat
  • EF5 Code First - 数据注释与 Fluent API [重复]

    这个问题在这里已经有答案了 我是实体框架新手 即将开始使用 EF5 Code First 的新 ASP NET MVC 项目 据我了解 您可以对域模型对象中的属性使用数据注释 也可以使用 Fluent API 来定义属性数据类型 创建对象时