Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
Entity framework 如何使用编辑表单中的SelectList更新实体引用?(asp.net mvc)_Entity Framework - Fatal编程技术网

Entity framework 如何使用编辑表单中的SelectList更新实体引用?(asp.net mvc)

Entity framework 如何使用编辑表单中的SelectList更新实体引用?(asp.net mvc),entity-framework,Entity Framework,只是想弄清楚如何实现以下目标: 我有一个编辑表单和一个简单的视图模型。 viewmodel包含一个实体,然后包含几个下拉列表 问题是: 该实体有一个相关实体(称为房间)。我希望用户能够从下拉列表中选择不同的房间,并相应地更改此相关实体 我不能仅仅将RoomID设置为一个新值,实体框架也不会公开它。如果我尝试,那么UpdateModel将失败 那么,是否可以通过编辑表单更新实体引用 提前谢谢 (开始希望我使用Linq到SQL) (为清晰起见进行了编辑)我们只需更新ID即可(或多或少;我们使用表示模

只是想弄清楚如何实现以下目标:

我有一个编辑表单和一个简单的视图模型。 viewmodel包含一个实体,然后包含几个下拉列表

问题是: 该实体有一个相关实体(称为房间)。我希望用户能够从下拉列表中选择不同的房间,并相应地更改此相关实体

我不能仅仅将RoomID设置为一个新值,实体框架也不会公开它。如果我尝试,那么UpdateModel将失败

那么,是否可以通过编辑表单更新实体引用

提前谢谢

(开始希望我使用Linq到SQL)


(为清晰起见进行了编辑)

我们只需更新ID即可(或多或少;我们使用表示模型,而不是将视图直接绑定到实体,但您会想到……:


是的,EF 4使这一点更加优雅,但您当然也可以在EF 1中实现。

您需要缩小问题的范围。你的问题实际上是“我如何更新EF中的实体引用?”是的,我想这比我的问题更准确,尽管它可能应该是“我如何通过选择列表更新asp.net MVC中EF中的实体引用”切换到linq到sql,我只是直接更新外键。在我看来,这是一种更直观的方法。在EF4上滚动。。。
SomeEntity.SomeOtherEntityReference.EntityKey =
    new EntityKey("MyEntities.SomeOtherEntities", "Id", 
        presentationModel.SomeOtherEntityId);