gpt4 book ai didi

entity-framework - Entity Framework 代码优先的 FSharp 记录类型

转载 作者:行者123 更新时间:2023-12-04 18:40:16 24 4
gpt4 key购买 nike

我正在一个业务应用程序中进行概念验证,我想用 F# 替换当前的 C# 代码优先 Entity Framework 实现。我正在关注 this文章似乎工作得很好,但我希望使用 FSharp 记录类型而不是文章使用的类。当我尝试将数据注释添加到这样的记录类型时:

type Family = {[<Key>]Id:int; LastName:string; IsRegistered:bool}

我收到以下错误:
Error   1   The type 'Key' is not defined

有没有办法将数据注释与记录类型一起使用?显然,EF Code-First 需要注释...

最佳答案

记录类型支持属性就好了(并且使用您拥有的语法)。

检查您是否引用了 System.ComponentModel.DataAnnotations一切顺利,这就是KeyAttribute被定义为。

编辑 :EF 想要使用属性,这就是为什么使用记录不能很好地与 EF 配合。您仍然可以通过使用 CLIMutable 标记记录来使其在 F# 3.0+ 中工作。属性(这会生成以 C# 为中心的框架和库认为理所当然的属性 setter 和无参数构造函数)。

您正在查看的文章是用 F# 2.0 编写的 - CLIMutable还没有出现,因此无法使用记录。

关于entity-framework - Entity Framework 代码优先的 FSharp 记录类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27667902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com