我正在尝试添加一个计算列 HasAnyCheck ,如果 Check1 和 Check2 中的任何一个或两个为true,则返回true。
我的模特:
New-Object SomeType [-ArgumentList] arg1, ...
我的迁移:
public bool Check1 { get; set; }
public bool Check2 { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public bool HasAnyCheck { get; private set; }
当我运行更新数据库时,出现错误'='附近的语法不正确。
答案 0 :(得分:1)
我怀疑问题是您的computed_column_expression没有明确返回值:
ALTER TABLE [MyTable] ADD [HasAnyCheck] AS CAST((CASE WHEN [Check1]=1 OR [Check2]=1 THEN 1 ELSE 0 END) AS BIT)
在您的情况下,您还可以摆脱bitwise OR:
ALTER TABLE [MyTable] ADD [HasAnyCheck] AS ([Check1]|[Check2])