DC: Implemented interfaces in BOModel

XAF Team Blog
01 October 2008

Domain Components (DC) is in maintenance mode and we do not recommend its use in new software projects.

This post is one in a series about our work on Domain Components (DC) framework and related component libraries. I’m just describing what we are working on, what problems we are facing and what results we've got so far.

While playing with CRM domain models, I've got a component like this:

	public interface IContact : IPersonalContactInfo, IPerson {
		IAccount Account { get; set; } 

This led me to one more issue that prevents XAF from working with the new models. I found out that the BOModel node doesn’t provide information about implemented interfaces. I would like XAF to treat implemented interfaces as it currently treats base classes – include base members into generated Views and reuse View Info provided for base classes.

So, to start, I need information about implemented interfaces in the BOModel. To make a long story short – here it is:


The next step is to make members of the implemented interfaces visible in Views.

Need Faster Support Replies?

Once you create a new XAF ticket in the DevExpress Support Center and select XAF under the Platform/Product field, please review the following help links displayed above the Submit button. These links describe how you can collect callstacks, logs and other important diagnostic information for any .NET error. Once you collect/compile this information, forward it to us along with your support ticket. This information will ensure faster and more accurate replies from support.



Nice stuff, though I foresee a lot of breaking changes when DC will be released. Currently, I use Explicit Interface implementation to prevent certain members to be generated in views automatically.

In general, I don't think we want every interface member to be visible in views, do we?

Any thoughts how to handle such situations?


1 October 2008


I should have  read the DC: Interfaces and BOModel topic first.

DomainComponentAttribute solves my problem very well...


1 October 2008

Please login or register to post comments.