【发布时间】:2016-11-18 23:19:13
【问题描述】:
我需要 F# 来轻松地使用实体框架。我正在尝试从这里改编示例:https://blogs.msdn.microsoft.com/visualstudio/2011/04/04/f-code-first-development-with-entity-framework-4-1/ 问题是那里的记录声明太可怕了,我无法接受。
type public Car() =
let mutable m_ID : int = 0
let mutable m_name : string = ""
[<Key>]
member public this.ID with get() = m_ID
and set v = m_ID <- v
member public this.Name with get() = m_name
and set v = m_name <- v
我曾以这种方式尝试过 CLIMutable:
module Program
[<CLIMutable>]
type Car = {
Name:string
}
let c = new Car(Name = "Honda")
它会导致错误:“没有可用于类型 'Car' 的构造函数”。 据我了解,这个答案可能是一种解释: https://stackoverflow.com/a/28845368/585819
我也尝试过:
[<CLIMutable>]
type Car =
{
ID:int
} member this.Name = ""
错误是一样的。我真的感到很失望。有人可以帮忙吗?
【问题讨论】:
-
我通常做的是在一个单独的项目中创建我的 POCO 类和 DbContext。这样我也可以利用代码优先迁移。
-
@OJRaqueño 我尝试将它们放在单独的项目(库)中。但错误是一样的。我不知道,可能需要一些特殊的编译选项。
标签: entity-framework f# poco