我正在使用Entity Framework 6和ASP.NET Core 2.1。
我已经在SO和其他地方看到了几个将数据库中的NUMBER(1)列映射到Entity Framework中的布尔值的示例。 他们通常涉及到这样的东西
INSERT INTO customer (
customerid,
companyname,
contactname,
contacttitle,
address,
city,
region,
postalcode,
country
)
SELECT phoneid,
companyname,
contactname,
contacttitle,
address,
city,
region,
postalcode,
country
FROM person,
customerorders;
被添加到web.config中。
所有示例均用于将数字DB值映射到布尔值。我们正在使用的数据库在每一列中都有一个列ACTIVE_IND,即VARCHAR2(1)。我们将其用作“ 1” = true,“ 0” = false。
我为<oracle.manageddataaccess.client>
<version number="*">
<edmMappings>
<edmMapping dataType="number">
<add name="bool" precision="1"/>
</edmMapping>
</edmMappings>
</version>
</oracle.manageddataaccess.client>
尝试的每个值,都会收到类似<edmMapping dataType="***">
的错误。我已经尝试过varchar,varchar2,string等。
我的问题-有没有一种方法可以映射所有表,以便在我的.NET代码中,属性为boolean,但在数据库中为VARCHAR2?
答案 0 :(得分:0)
EF 6中没有一流的方法。
EF Core通过Value Conversions支持此操作,Oracle已提供ODP.NET Core。但是,尚未提供EF Core支持。