如何在EF中创建另一个实体的新实体?

时间:2016-11-16 16:20:49

标签: asp.net-mvc entity-framework ef-code-first

我首先使用EF代码,我的模型看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/activity_main"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.commonsware.myapplication.MainActivity">

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@android:string/cancel" />
</RelativeLayout>

显然,脚手架视图并不支持这种情况;如何在仓库/创建页面中添加public class Warehouse { public int Id { get; set; } public ICollection<Item> Items { get; set; } public ICollection<Branch> Branches { get; set; } } Items?这是脚手架视图:

Branches

1 个答案:

答案 0 :(得分:1)

您必须了解发布集合的工作原理;请参阅此SO帖子,了解如何做到这一点:How can I post a list of items in MVC

我会谨慎地反对将集合直接发回到EF对象;原因是您必须确保EF可以正确解释插入或更新,如果它没有所有相应的信息,它可能无法做出正确的决定。此外,如果您正在更新,任何元数据属性也需要包含在UI中,如果不能正确回复,则可能会产生负面影响。

相关问题