我已经通过了this question here的答案,到目前为止还没有提及或已经解决了问题。
我尝试过的事情:
我刚刚在我的应用中遇到一个错误,该错误是由列中的0值引起的,该列应该链接2个表。因此,我更新了我的数据模型以构建它们之间的关系:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
Context ctx;
private SharedPreferences pref;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
pref = this.getActivity().getSharedPreferences("Users",0);
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
String new_month = "";
if(Integer.parseInt(String.valueOf(month))<10) {
new_month="0"+String.valueOf(month);
}else{
new_month = String.valueOf(month);
}
Log.d("month new",year+"-"+new_month+"-"+dayOfMonth);
SharedPreferences.Editor editor = pref.edit();
editor.putString(Constants.SELECTED_DATE,year+"-"+new_month+"-"+dayOfMonth);
editor.apply();
Log.d("shared pref",pref.getString(Constants.SELECTED_DATE,""));
LayoutInflater inflater = LayoutInflater.from(this);
View myView = inflater.inflate(R.layout.activity_main, null);
TextView tv_datePick = (TextView) myView.findViewById(R.id.pickDate);
tv_datePick.setText(pref.getString(Constants.SELECTED_DATE,""));
}
}
我拥有的其他一个表名为Campaigns,所以现在添加了设置我的外键的迁移,我想public class ContactGroup
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Contact
{
public int Id { get; set; }
public ContactGroup ContactGroup { get; set; }
// other contact columns go here
}
这是我的问题所在,因为我收到错误说:
已有一个名为&#39; Campaigns&#39;在数据库中。
我知道数据库中已有一个具有此名称的对象,因为它是我与之建立关系的对象之一。
这是“实体框架”生成的迁移
update-database
那么解决此问题的最佳方法是什么?现在应用此迁移?
答案 0 :(得分:0)
只需从生成的迁移中删除定位CreateTable
的{{1}}方法即可。对于将来的迁移,将不会添加此项,因为模型实际上已在dbo.Campaigns
表中进行序列化,并且它知道您已对其采取了操作。
这会记录在__MigrationHistory
表的Model
列中,并且它知道__MigrationHistory
已经存在,并且不会再尝试创建它。
希望这有帮助