public ActionResult AddForeignKey(string field) { var databaseForModel = new Database(); databaseForModel.Tables = new List <Table>(); databaseForModel.Tables.AddRange(_currentDatabase.Tables); databaseForModel.Tables.Remove(_currentTable); AddForeignKeyModel model = new AddForeignKeyModel { Field = field, Database = databaseForModel }; return(PartialView("_AddForeignKey", model)); }
public ActionResult AddForeignKey(AddForeignKeyModel model) { var table = _currentDatabase.Tables.FirstOrDefault(x => x.Name == model.ReferencedTable); if (table != null) { if (table.Fields.Select(x => x.Name).Contains(model.ReferencedProperty)) { if (_currentTable.ForeignKeys == null) { _currentTable.ForeignKeys = new List <ForeignKey>(); } _currentTable.ForeignKeys.Add(new ForeignKey { ParentField = model.Field, Field = model.ReferencedProperty, OriginTable = model.ReferencedTable }); } } return(View("Fields", _currentTable)); }