1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity
{
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Reflection;
public sealed class AdventureWorksModelBuilder : DbModelBuilder
{
private readonly Type[] _unignoredTypes;
public AdventureWorksModelBuilder(params Type[] unignoredTypes)
{
_unignoredTypes = unignoredTypes;
}
public override DbModel Build(DbProviderInfo providerInfo)
{
IgnoreAll(_unignoredTypes);
return base.Build(providerInfo);
}
private void IgnoreAll(params Type[] unignoredTypes)
{
Ignore(
Assembly.GetExecutingAssembly().GetTypes()
.Where(
t => !string.IsNullOrWhiteSpace(t.Namespace)
&& t.Namespace.Contains("Model")).Except(
Configurations.GetConfiguredTypes().Union(unignoredTypes)));
}
}
}
|