0

我在我的新项目中使用 Subsonic (SimpleRepository) 并喜欢使用它,但是......

只有一张我的表,它不会创建所有列,我不明白为什么。

这是代码:

public class Rating
{
    public Rating()
    {
        UsernameVotant = "";
        UsernameEvaluate = "";
        Note = 0.0;
        NoteAccueil = 0.0;
        NotePedagogie = 0.0;
        NoteRapportQP = 0.0;
        NoteContenu = 0.0;
        Comment = "";
        stageId = 0;
        DateNote = DateTime.Now;
        isValidate = false;
    }
    [SubSonicPrimaryKey]
    public int ID { get; set; }
    public DateTime DateNote;
    public int stageId;
    public string UsernameVotant;
    public string UsernameEvaluate;
    public int Note;
    public int NoteAccueil;
    public double NotePedagogie;
    public double NoteRapportQP;
    public double NoteContenu;
    [SubSonicLongString]
    public string Comment { get; set; } 
    public bool isValidate { get; set; }
}

像我的其他课程一样调用:

IRepository _repoRun = new SimpleRepository(Core.Config.ArticlesDB, SimpleRepositoryOptions.RunMigrations);

   public bool AddRating(Rating p)
    {
        _repoRun.Add<Rating>(p);
        return true;
    }

创建的表 Ratings 包含以下列:ID、Comment、isValidate

无论我尝试添加什么作为默认值,这 3 列都包含以下值: ID = 1 (2, 3, 4...) -> works Comment = "" isValidate = false


当我注意到命名列“Read”的问题时,我尝试重命名列,重命名表(这是“Vote”[法语])但问题与我的原始表“Votes”相同

请问你能帮帮我吗。

在此先感谢(对不起我的英语)

4

1 回答 1

2

您在该类中定义的唯一属性是 ID、Comment 和 isValidate,因此这些是 SubSonic 将生成的唯一列。将您的字段更改为属性,SubSonic 应该为它们创建列:

[SubSonicPrimaryKey]
public int ID { get; set; }
public DateTime DateNote { get; set; }
public int StageId { get; set; }
public string UsernameVotant { get; set; }
public string UsernameEvaluate { get; set; }
public int Note { get; set; }
public int NoteAccueil { get; set; }
public double NotePedagogie { get; set; }
public double NoteRapportQP { get; set; }
public double NoteContenu { get; set; }
[SubSonicLongString]
public string Comment { get; set; } 
public bool IsValidate { get; set; }
于 2010-01-07T11:49:18.733 回答