Model
public class News : Model<News>
{
public int Id { get; set; }
public DateTime Date { get; set; }
public string Content { get; set; }
}
Create
var n = new News();
n.Date = DateTime.Now;
n.Content = "A very big news today!";
n.Save();
Read
var news= News.Find(new { Id = 1 });
foreach (var n in news) {
Console.WriteLine(n);
}
news = News.All();
foreach (var n in news) {
Console.WriteLine(n);
}
news = News.Where(new { Category = "Science" })
.OrderBy("Date", "DESC")
.Result<News>();
news = News.Limit(3)
.OrderBy("Date", "DESC")
.Result<News>();
Update
var n = News.Read(new { Id = 1 });
n.Content = "Updated news content";
n.Update();
Delete
var n = News.Read(new { Id = 1 });
n.Delete();
Overriding Naming Convention
[Table("AdminNews")]
public class News : Model<News>
{
[Column("NewsID")]
public int Id { get; set; }
public DateTime Date { get; set; }
public string Content { get; set; }
}
Validations
public class User : Model<User>
{
[Required]
public string Name { get; set; }
}
Migrations
public class _CreatePerson : Migration
{
public _CreatePerson() : base("E96DF9E3-753F-4AF3-BF72-550209EBC8E2")
{
}
public override void Up()
{
CreateTable("Person",
Column("PersonID", DbType.Int32, true, true),
Column("Name"),
Column("Address"),
Column("Age"));
}
public override void Down()
{
DropTable("Person");
}
}
Adding Columns
Views