public partial class Form1 : Form
{
private static ObjectService os = new ObjectService();
private ObjectContext oc;
public Form1()
InitializeComponent();
oc = os.CurrentObjectContext;
oc.InitializeRepository();
CreateArticles();
oc = null;
}
private void CreateArticles()
#region Creating authors
Person nicolas = new Person();
nicolas.FirstName = "Nicolas";
nicolas.LastName = "Penin";
nicolas.Company = new Company();
nicolas.Company.Name = "Evaluant";
Person noham = new Person();
noham.FirstName = "Noham";
noham.LastName = "Choulant";
noham.Company = nicolas.Company;
Person laurent = new Person();
laurent.FirstName = "Laurent";
laurent.LastName = "Kempé";
laurent.Company = new Company();
laurent.Company.Name = "Innoveo";
#endregion
Article article = new Article();
article.Content = ".NET Source Code is here";
article.Title = ".NET Source code";
article.Author = laurent;
oc.BeginTransaction();
oc.Serialize(article);
oc.CommitTransaction();
article = new Article();
article.Content = @"La communication entre les hommes et femmes évolue, celle des
applications aussi grâce au .Net Framework 3.0.";
article.Title = "WCF";
article.Author = noham;
article.Content = "Euss and Lucene have met and gave birth to me";
article.Title = "When Euss meet Lucene";
article.Author = nicolas;
private void button1_Click(object sender, EventArgs e)
oc = os.CreateObjectContext();
// Recherche des Articles
var articles = from Article article in oc
select article;
// Chargement anticipé de l’entité Author liée
articles.Infer(a => a.Author);
// Si un texte est entré, on l’utilise pour filtrer les Articles
// Dans cet exemple, la recherche est automatiquement effectuée par Lucene
// plutôt que par le moteur de base de données
if (!string.IsNullOrEmpty(textBox1.Text))
articles.Where<Article>(a => a.Content.Contains(textBox1.Text));
dataGridView1.DataSource = articles.ToList<Article>();
dataGridView1.AutoResizeColumns();