我使用EF-Code First,这是我的数据注释模型:
public int Count { get; set; }
public int Fee { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public int? Total { get; set; }
我在SQL Server中有一个函数:
ALTER FUNCTION dbo.Function4
(
@Count INT, @Fee INT
)
RETURNS Int
AS
BEGIN
DECLARE @Result INT
SET @Result = @Count * @Fee
RETURN
@Result
END
在Total&#39的计算列规范中,我写了这个公式:
([dbo].[Function4]([Count],[Fee]))
这很好用。但我的问题是:每当我更改模型时,数据库都会重新创建,因为我已经使用了DropCreateDatabaseIfModelChanges
。我可以删除[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
并根据代码进行计算,但我想知道代码中的[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
用法是什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
DatabaseGeneratedOption.Computed-表示属性具有存在于数据库中的相应字段,但该值应从数据库中检索,而不是从C#中传递