属性初始值是指Guid

时间:2013-03-12 23:06:44

标签: asp.net-mvc f#

我正在构建一个F#ASP.NET MVC应用程序,其中一个模型看起来像这样:

namespace MyApp.Models

open System
open System.ComponentModel.DataAnnotations

type ProductCategory() = 
    [<Key>] member val Id = Guid.NewGuid() with get, set
    [<Required>] member val Name = "" with get, set
    member val ParentCategory = Guid.Empty with get, set

产品类别的简易类型,其中每个类别都可以拥有父级(由Guid引用)。这是声明ParentCategory属性的正确方法吗?我试过让它成为可空或一个选项,但没有成功,但由于我是这些人的新手,我真的迷失了所有这些细节。我试过搜索,但我得到的最远的是人们宣称它是Guid?在C#中,我无法做到。

非常感谢任何有关正确宣告此方法的提示。

1 个答案:

答案 0 :(得分:1)

所以,根据@ildjarn的回答,这里是最终的工作原理:

namespace MyApp.Models

open System
open System.ComponentModel.DataAnnotations

type ProductCategory() = 
    [<Key>] member val Id = Guid.NewGuid() with get, set
    [<Required>] member val Name = "" with get, set
    member val ParentCategory = Nullable<Guid>() with get, set

非常感谢您的帮助!