Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ContactsEntities db = new ContactsEntities();
- //get all contacts
- public JsonResult GetAll()
- {
- var data = (from c in db.Contacts
- from e in db.Emails.Where(x => x.id == c.id).DefaultIfEmpty()
- from p in db.Phones.Where(x => x.id == c.id).DefaultIfEmpty()
- from t in db.Tags.Where(x => x.id == c.id).DefaultIfEmpty()
- select new
- {
- id = c.id,
- phones = p.number,
- emails = e.email1,
- tags = t.tag1,
- firstname = c.firstname,
- lastname = c.lastname,
- address = c.address,
- city = c.city,
- bookmarked = c.bookmarked,
- notes = c.notes
- }).ToList();
- return Json(data, JsonRequestBehavior.AllowGet);
- }
- var test1 = (from c in db.Contacts
- join e in db.Emails
- on c.id equals e.id_contact
- join t in db.Tags
- on c.id equals t.id_contact
- join p in db.Phones on c.id equals p.id_contact
- select new
- {
- id = c.id,
- phones = p.number,
- emails = e.email1,
- tags = t.tag1,
- firstname = c.firstname,
- lastname = c.lastname,
- address = c.address,
- city = c.city,
- bookmarked = c.bookmarked,
- notes = c.notes
- }).ToList();
- var result = (from contact in test1
- group contact by contact.id into grp
- select new
- {
- id = grp.Key,
- firstname = grp.First().firstname,
- lastname = grp.First().lastname,
- address = grp.First().address,
- city = grp.First().city,
- bookmarked = grp.First().bookmarked,
- notes = grp.First().notes,
- phones = grp.Where(x => x.phones != null).Select(x => x.phones).Distinct().ToArray(),
- emails = grp.Where(x => x.emails != null).Select(x => x.emails).Distinct().ToArray(),
- tags = grp.Where(x => x.tags != null).Select(x => x.tags).Distinct().ToArray()
- }).ToList();
- var contacts = (from c in db.Contacts
- select c).ToList();
- var data = (from c in db.Contacts
- from e in db.Emails.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- from p in db.Phones.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- from t in db.Tags.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- select new
- {
- id = c.id,
- phones = p.number,
- emails = e.email1,
- tags = t.tag1,
- firstname = c.firstname,
- lastname = c.lastname,
- address = c.address,
- city = c.city,
- bookmarked = c.bookmarked,
- notes = c.notes
- }).ToList();
- return Json(data, JsonRequestBehavior.AllowGet);
- var data = (from c in db.Contacts
- from e in db.Emails.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- from p in db.Phones.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- from t in db.Tags.Where(x => x.id_contact == c.id).DefaultIfEmpty()
- select new
- {
- id = c.id,
- phone = (p != null ? p.number : null),
- email = (e != null ? e.email1 : null),
- tag = (t != null ? t.tag1 : null),
- firstname = c.firstname,
- lastname = c.lastname,
- address = c.address,
- city = c.city,
- bookmarked = c.bookmarked,
- notes = c.notes
- }).ToList();
- var data2 = (from i in data
- group i by i.id into grp
- select new
- {
- id = grp.Key,
- phones = grp.Where(x => x.phone != null).Select(x => x.phone).ToArray(),
- emails = grp.Where(x => x.email != null).Select(x => x.email).ToArray(),
- tags = grp.Where(x => x.tag != null).Select(x => x.tag).ToArray(),
- firstname = grp.First().firstname,
- lastname = grp.First().lastname,
- address = grp.First().address,
- city = grp.First().city,
- bookmarked = grp.First().bookmarked,
- notes = grp.First().notes
- }).ToList();
- var conts= db.Contacts;
- db.Entry(conts).Collection(c => c.Emails).Load();
- // If you retrieve an email, use "Reference" instead of "Collection"
- using (var context = new BloggingContext())
- {
- var post = context.Posts.Find(2);
- // Load the blog related to a given post
- context.Entry(post).Reference(p => p.Blog).Load();
- // Load the blog related to a given post using a string
- context.Entry(post).Reference("Blog").Load();
- var blog = context.Blogs.Find(1);
- // Load the posts related to a given blog
- context.Entry(blog).Collection(p => p.Posts).Load();
- // Load the posts related to a given blog
- // using a string to specify the relationship
- context.Entry(blog).Collection("Posts").Load();
- }
Add Comment
Please, Sign In to add comment