Let us suppose we are going to start new project - application that contains some business logic, user interface on ASP.NET, WPF or both of them. We\'d like to use ORM or DA
There are several fundamental ways how we can express our ideas of business domain
I think it is important to first establish that the domain is independent of concrete technologies and/or programming paradigms (e.g. OO, FP, relational). This answer will assume you've already separately defined your domain, e.g. using DDD practices, and now wish to use a relational database to store it.
The relational model was invented, among other reasons, to do away with the many problems that were caused by previous models, including the networked model (which includes OO models), the hierarchical model (which includes XML/JSON models), or simple key value stores. It has a lot of strengths over all alternatives, which has made it so popular for decades.
In my opinion, these strengths indicate that you should design your database model inside of the database, which has been made for precisely that purpose. All other models, including your client model, are copies of that original, relational model from within the database. Thus, all other models should be derived from it, not source for it.
See the relational model, expressed in DDL, as your source of truth
XML/XSD is a similar technology. Your data is expressed in terms of XML, but when two systems communicate with each other through an XML based API, XSD (or e.g. WSDL if you want) is the most appropriate language to specify that communication.
If you want to to bind to your XML documents using client technology, e.g. JAXB in Java, then you should generate those JAXB classes from the XSD, not vice versa. Why? Because XSD is the source of truth
I've written about this topic here.