@carlospinedag I agree; I am also not a huge fan of Code First. Model first is more natural for me; helps keep the database design ownership to select few! Code First makes it difficult to keep control over your db model. I also don't like the idea of C# code driving my database design; I would rather design my database model, generate the differentiating SQL, provide is to the developers so that they could code their stuff on top of it.
@romiller, currently we are working on a multi-year Azure SQL Database / MVC / Web API / EF 6.1 project that uses model first approach. Can you please provide any guidance or tips and tricks for us to avoid making any mistakes that might cost us time/money while upgrading from EF 6.1 to EF7 in the future? Will there be no tooling in EF7 to generate classes/context from the model?
Can someone share more technical details about the Heineken project? Specifically I have following questions.
- Why were there so many storage accounts? Any particular reason?
- How did you come up with 10,000 data partition (why not 20,000 or 5,000)
- What was the partition key and row key
- A message from the UI was pushed across 4 data centers, I think. How was the worker implemented as to avoid processing the same message more than once? My understanding is that you had 4 different queues!
- It appears that SQL Database was not utilized, rather a SQL Server based database infrastructure was established. How was that infrastructure configured for high availability? Was it traditional SQL Server Active-Passive configuration or does Azure offers something else for implementing fault tolerance / high availability for SQL Server?
This is great and explains a lot. Couple of questions though.
1) We use Office 365. Does that means I could develop web applications (either cloud based running on Windows Azure or traditional ASP.NET apps running on a hosting provider such as GoDaddy) that could authenticate users using their Office 365 credentials?
2) You mentioned something about one having access to Azure AD services if one is using Office 365. Does that mean I don't have to pay for that and it is all included in the Office 365 subscription? I don't think I have seen any option for managing Azure AD on the Office 365 admin screens; perhaps I am missing something?