Rem*_*mko 6 f# entity-framework
我正在尝试定义我在Entity Framework 6中使用的一些模型.我想使用F#记录.如果我把[<CLIMutable>]
记录定义放在上面并使用ICollection<'a>
,那么集合.EF工作正常.
我可以存储和检索记录.但是,对于EF进行延迟加载,我需要创建包含虚拟集合的记录字段.我可以通过使属性成员抽象并提供默认值来使其成为虚拟成员.记录不是类.是否可以将记录字段设为虚拟?
如果我尝试用抽象成员扩充记录,我会收到此错误 this declaration element is not permitted in an augmentation
据我所知,你不能在记录中定义一个虚拟成员 - 这是有道理的,因为你也不能从记录中继承,所以为什么你需要虚拟成员.
但我可以看到为什么实体框架需要这样做.也许有类似CliVirtual
属性的东西是有道理的CliMutable
(类似于(特别是如果这经常发生).欢迎在F#uservoice页面上提出建议!
所以,我想你最好的选择是使用具有虚拟自动实现属性的普通类(看起来非常丑陋):
type A() =
abstract member Id: int with get, set
default val Id = 123 with get, set
Run Code Online (Sandbox Code Playgroud)
或者也许看看F#的其他SQL类型提供程序是否允许您更好地执行相同的操作!
归档时间: |
|
查看次数: |
390 次 |
最近记录: |