2016-04-19 2 views
0

Я объявил класс, чтобы создать новую таблицу Topics:Изменить имя столбца в идентичности asp.net

Table["Topics"] 
public class TopicViewModels 
{ 
    [Key] 
    public string Id { get; set; } 
    public string UserId { get; set; } 
    public string Content { get; set; } 
    public DateTime DateTime { get; set; } 
} 

Я обновить базу данных успешно и добавить несколько строк в таблице. Теперь я хочу изменить столбец Id на TopicId без потери данных, как я могу это сделать?

Я пробовал: Щелкните правой кнопкой мыши таблицу Topics, затем нажмите Open Table Definition, измените имя Id на TopicId и обновить его.

Все в порядке. Но проблема в том, как переименовать свойство Id в классе TopicViewModels в TopicId?

using (var db = new MyDbContext()) 
{ 
    string id = ""; 
    var topic = db.Topics.SingleOrDefault(x => x.Id == id); 

    // what I want to achieve: 

    string topicId = ""; 
    var _topic = db.Topics.SingleOrDefault(x => x.TopicId == topicId); 

} 

Если я изменяю:

Table["Topics"] 
public class TopicViewModels 
{ 
    [Key] 
    public string TopicId { get; set; } 
    public string UserId { get; set; } 
    public string Content { get; set; } 
    public DateTime DateTime { get; set; } 
} 

данные будут потеряны. Это похоже на: delete column Id и добавить новый столбец TopicId.

Итак, мой вопрос: как я могу переименовать какое-либо свойство в классе TopicViewModels без потери данных?

ответ

0

Использовать ColumnAttribute [Column("Id")]

Смежные вопросы