我使用SQL Server 2008和Entity framework 4.1数据库的第一种方法。
有什么方法可以创建null-Computed列?
我无法像这样创作:
Alter Table Employee Add FullName nullable as LastName + ' ' +FirstName
如果答案为否,那么我有什么方法可以在EF的EDMX文件中制作相应的标量属性Nullable
哪个映射到计算列?
答案 0 :(得分:2)
默认情况下,计算列为nullable,表达式涉及任何其他可为空的列,表达式或任何函数。如果你想要NON-NULL计算列,你应该用ISNULL函数包装列的表达式。
Alter Table Employee Add FullName as LastName + ' ' +FirstName
在这种情况下,只有当其中一列(FirstName,LastName)也可以为空时,FullName才可以为空
如果您希望可空的计算列由非可空表达式列组成,则使用用户定义函数作为表达式:
CREATE FUNCTION dbo.FullName(@LastName nvarchar(100), @FirstName nvarchar(100))
RETURNS nvarchar(201)
AS
BEGIN
RETURN @LastName + N' ' +@FirstName
END
GO
Alter Table Employee Add FullName as dbo.FullName(LastName, FirstName)