Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 正在更新StoreGeneratedPattern.Computed值_Sql Server_Vb.net_Entity Framework - Fatal编程技术网

Sql server 正在更新StoreGeneratedPattern.Computed值

Sql server 正在更新StoreGeneratedPattern.Computed值,sql-server,vb.net,entity-framework,Sql Server,Vb.net,Entity Framework,我一直试图找到一个解决方案,来更新设置为StoreGeneratedPattern.Computed的实体模型的值,但没有成功 列[Active]的默认值在DB中设置为true。最初我使用的是StoreGeneratedPattern.Identity,但当更新标识项时,会出现错误“不支持使用“Identity”模式修改列”。我更改为Computed,没有收到错误,但保存更改后该值不会更新 这是我的密码: Dim ent As New EntityModel Dim user As SP_Use

我一直试图找到一个解决方案,来更新设置为StoreGeneratedPattern.Computed的实体模型的值,但没有成功

列[Active]的默认值在DB中设置为true。最初我使用的是StoreGeneratedPattern.Identity,但当更新标识项时,会出现错误“不支持使用“Identity”模式修改列”。我更改为Computed,没有收到错误,但保存更改后该值不会更新

这是我的密码:

Dim ent As New EntityModel
Dim user As SP_User = (From a In ent.SP_User
                                 Where a.usr_ID = 1
                                 Select a).First

For Each pho As SP_User_PhoneNumber In user.SP_User_PhoneNumber
    Dim foundmatch As u_UserPhoneNumber = Array.Find(PhoneNumers, Function(p As u_UserPhoneNumber) p.PhoneNumberID = pho.usrp_ID)
    If foundmatch Is Nothing Then
        pho.usrp_Active = False
    End If
Next

ent.SaveChanges()

我的问题的解决方案是将StoreGeneratedPattern设置为none,将默认值设置为True。数据库默认值仍然设置为True1,因此,如果插入不是来自EF,则允许数据库设置该值。如果数据类型不同,则可能存在漏洞,但在我的场景中,解决方案有效。

我认为您将计算列和列与默认值混淆了。你甚至不能用SQL更新计算列。我同意我对这方面不太了解,我正在学习。你对我如何做到这一点有什么建议吗?是的,删除StoreGeneratedPattern规范。好的,然后我如何管理SQL中的默认值,因为我必须在SQL中生成默认值与论坛网站不同,我们不使用感谢、感谢的帮助或签名。看见顺便说一句,这是提前感谢,不是提前感谢。