Entity framework 实体框架4模型首先使用货币价值对象

Entity framework 实体框架4模型首先使用货币价值对象,entity-framework,currency,value-objects,Entity Framework,Currency,Value Objects,我想在我的应用程序中使用货币价值对象。我发现了几个例子。但我不知道如何在EF4中使用它们。我想在数据库中以十进制/货币代码对的形式存储每个金额(其中货币代码是字符串-“USD”、“SEK”等)。我试着创建一个complexType,但没能成功。这可能吗?这肯定是可能的。您的复杂类型只是一对十进制和字符串属性。这正是复杂类型的用途。根据您的方法,您必须执行以下操作: 数据库优先: 您将首先定义数据库。您的表将包含表示新类型的money和varchar列。从数据库更新EDMX模型时,它将作为标量属性

我想在我的应用程序中使用货币价值对象。我发现了几个例子。但我不知道如何在EF4中使用它们。我想在数据库中以十进制/货币代码对的形式存储每个金额(其中货币代码是字符串-“USD”、“SEK”等)。我试着创建一个complexType,但没能成功。这可能吗?

这肯定是可能的。您的复杂类型只是一对十进制和字符串属性。这正是复杂类型的用途。根据您的方法,您必须执行以下操作:

数据库优先:

您将首先定义数据库。您的表将包含表示新类型的money和varchar列。从数据库更新EDMX模型时,它将作为标量属性包含到实体中。您必须删除这些属性。然后转到“模型浏览器”并创建新的复杂类型。返回实体并添加新复杂类型的复杂属性。最后,您必须转到实体映射,并将复杂类型映射到这些数据库列

这里是基本教程,但不知什么原因,他们没有包括像截图这样的基本细节。这是第九频道的视频

模型一:

这类似于数据库优先,但您不必处理数据库创建和映射。它将为您生成

代码优先(EF 4.1):

必须为复杂类型创建单独的类,并将其用作实体中的属性。默认情况下,您不需要对其进行映射-应该推断映射。如果不起作用,您可以使用
ComplextTypeAttribute
注释或在
DbModelBuilder
中定义映射来映射complext类型


如果您提供更多详细信息,我可以进一步扩展您需要使用的方法。

这绝对是可能的。您的复杂类型只是一对十进制和字符串属性。这正是复杂类型的用途。根据您的方法,您必须执行以下操作:

数据库优先:

您将首先定义数据库。您的表将包含表示新类型的money和varchar列。从数据库更新EDMX模型时,它将作为标量属性包含到实体中。您必须删除这些属性。然后转到“模型浏览器”并创建新的复杂类型。返回实体并添加新复杂类型的复杂属性。最后,您必须转到实体映射,并将复杂类型映射到这些数据库列

这里是基本教程,但不知什么原因,他们没有包括像截图这样的基本细节。这是第九频道的视频

模型一:

这类似于数据库优先,但您不必处理数据库创建和映射。它将为您生成

代码优先(EF 4.1):

必须为复杂类型创建单独的类,并将其用作实体中的属性。默认情况下,您不需要对其进行映射-应该推断映射。如果不起作用,您可以使用
ComplextTypeAttribute
注释或在
DbModelBuilder
中定义映射来映射complext类型

如果您提供更多详细信息,我可以进一步扩展您需要使用的方法