using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
public static void Main()
Z.EntityFramework.Classic.EntityFrameworkManager.UseFiddleSqlCompact(System.Data.Entity.SqlServerCompact.SqlCeProviderServices.Instance, System.Data.SqlServerCe.SqlCeProviderFactory.Instance);
int count = GenerateData();
Console.WriteLine($"Created {count} objects.");
using (var context = new EntityContext())
var list = context.Sample.ToList();
FiddleHelper.WriteTable("Sample", list);
public static Api.Model.Sample[] GenerateSample()
return new Api.Model.Sample[] {
new Api.Model.Sample("title1", "description1"),
new Api.Model.Sample("title2", "description2")
public static int GenerateData()
using (var context = new EntityContext())
context.Sample.AddRange(GenerateSample());
return context.SaveChanges();
public class EntityContext : DbContext
public EntityContext() : base(@"Data Source=ZZZ_Projects.sdf") {}
public DbSet<Api.Model.Sample> Sample { get; set; }
public abstract class WithID
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public abstract class WithTitle : WithID
public string Title { get; set; }
public interface IWithLifetime
DateTimeOffset CreatedAt { get; set; }
DateTimeOffset UpdatedAt { get; }
public static class Sizes
public const int _32 = 32;
public const int _64 = 64;
public const int _128 = 128;
public const int _256 = 256;
public const int COMPUTER_NAME = 15;
public const int UNC_PATH = 260;
public class Sample: WithTitle, IWithLifetime
public string Description { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public Sample(string title, string description)
this.Description = description;