3

我在 SQL 函数中执行以下操作:

SELECT
    c.DateValue,
    c.DayName,
    c.IsPaymentDate,
    CAST(CASE WHEN exception.ExceptionDateId IS NULL THEN 0 ELSE 1 END AS BIT) AS IsHolidayPayment,
    exception.ExceptionDateID
FROM Calendar c

但是,在实体框架中打开模型时,它会将 IsHolidayPayment 视为 INT。我们需要它是一个布尔值。难道我做错了什么?

4

2 回答 2

0

是的,如果在 EDMX 生成后该字段已被修改,那么我们必须手动更新该字段,在更改之后我仍然面临一些问题,因为如果存储过程返回一些行,它也会生成复杂的数据类型,所以如果可能的话我会采用更好的方法,我删除了这个存储过程,然后再次更新 edmx 并重新添加它

于 2013-06-26T04:46:28.073 回答
0

我知道这是一个老问题,但我遇到了它,所以其他人也可以。作为一种解决方法,我创建了一个 BIT 变量,然后将列设置为该变量。然后,实体框架能够识别该列是布尔值。

DECLARE @IsBitVariable BIT = 0

SELECT
    c.DateValue,
    c.DayName,
    c.IsPaymentDate,
    @IsBitVariable AS IsHolidayPayment,
    exception.ExceptionDateID
FROM Calendar c

保存数据模型,然后更改您的查询。

于 2018-08-16T15:59:40.830 回答