This commit is contained in:
@@ -32,83 +32,5 @@ Mailkit (supposedly system.net.mail will be ported in v2.0 of .net core but for
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**************************
|
||||
//command to scaffold the sqlite db:
|
||||
dotnet ef dbcontext scaffold "Datasource=/home/john/Documents/rockfishCore/db/rockfish.sqlite" Microsoft.EntityFrameworkCore.Sqlite -o Models -f
|
||||
|
||||
//scaffold all controllers with these commands:
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Contact -dc rockfishCore.Models.rockfishContext -name ContactController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Customer -dc rockfishCore.Models.rockfishContext -name CustomerController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Incident -dc rockfishCore.Models.rockfishContext -name IncidentController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.LicenseTemplates -dc rockfishCore.Models.rockfishContext -name LicenseTemplatesController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Notification -dc rockfishCore.Models.rockfishContext -name NotificationController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Purchase -dc rockfishCore.Models.rockfishContext -name PurchaseController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Site -dc rockfishCore.Models.rockfishContext -name SiteController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.Trial -dc rockfishCore.Models.rockfishContext -name TrialController -outDir ./Controllers
|
||||
dotnet aspnet-codegenerator controller -api -m rockfishCore.Models.User -dc rockfishCore.Models.rockfishContext -name UserController -outDir ./Controllers
|
||||
|
||||
|
||||
Here is the help command for this:
|
||||
dotnet aspnet-codegenerator controller --help
|
||||
|
||||
|
||||
|
||||
***********************************
|
||||
EF CORE STUFF NOTES
|
||||
|
||||
To INCLUDE relatives use like this:
|
||||
|
||||
var site = await _context.Site
|
||||
.Include(m=>m.TrialNavigation)
|
||||
.Include(m=>m.Purchase)
|
||||
.Include(m=>m.Incident)
|
||||
.SingleOrDefaultAsync(m => m.Id == id);
|
||||
|
||||
|
||||
|
||||
=-=-=-=-
|
||||
EF Core include queries
|
||||
|
||||
|
||||
//ad-hoc:
|
||||
// var res = from c in _context.Customer.OrderBy(c => c.Name)
|
||||
// join site in _context.Site.DefaultIfEmpty() on c.Id equals site.CustomerId
|
||||
// join purchase in _context.Purchase.DefaultIfEmpty() on site.Id equals purchase.SiteId
|
||||
// where (purchase.CancelDate == null)
|
||||
// select new infoListCustomer
|
||||
// {
|
||||
// active = c.Active,
|
||||
// id = c.Id,
|
||||
// name = c.Name,
|
||||
// siteId = site.Id,
|
||||
// siteName = site.Name,
|
||||
// purchaseId = purchase.Id,
|
||||
// purchaseName = purchase.Name
|
||||
// };
|
||||
|
||||
|
||||
//Using ef relationships:
|
||||
|
||||
// using (var context = new BloggingContext())
|
||||
// {
|
||||
// var blogs = context.Blogs
|
||||
// .Include(blog => blog.Posts)
|
||||
// .ThenInclude(post => post.Author)
|
||||
// .ThenInclude(author => author.Photo)
|
||||
// .Include(blog => blog.Owner)
|
||||
// .ThenInclude(owner => owner.Photo)
|
||||
// .ToList();
|
||||
// }
|
||||
|
||||
var res = _context.Customer
|
||||
.Include(customer => customer.Site)
|
||||
.ThenInclude(site => site.Purchase)//or...:
|
||||
//.Include(customer => customer.Purchase)//this also due to reference in EF
|
||||
.OrderBy(customer => customer.Name);
|
||||
//.ToList();
|
||||
|
||||
|
||||
var xtest=res.ToList();
|
||||
var xcount=xtest.Count();
|
||||
uidnext {61644} {685} {61644} {685}
|
||||
uidvalidity 1276936849 1532556097 1276936849 1532556097
|
||||
Reference in New Issue
Block a user