Example #1
0
        // internal for testing
        internal static EntitySet CloneWithDefiningQuery(EntitySet sourceEntitySet, string definingQuery)
        {
            Debug.Assert(sourceEntitySet != null, "sourceEntitySet != null");
            Debug.Assert(!string.IsNullOrWhiteSpace(definingQuery), "invalid definingQuery");

            var metadataProperties =
                sourceEntitySet.MetadataProperties.Where(p => p.PropertyKind != PropertyKind.System).ToList();

            // these properties make it possible for the designer to track
            // back these types to their source db objects
            if (sourceEntitySet.Schema != null)
            {
                metadataProperties.Add(
                    StoreModelBuilder.CreateStoreModelBuilderMetadataProperty(
                        SchemaAttributeName,
                        sourceEntitySet.Schema));
            }

            if (sourceEntitySet.Table != null)
            {
                metadataProperties.Add(
                    StoreModelBuilder.CreateStoreModelBuilderMetadataProperty(
                        NameAttributeName,
                        sourceEntitySet.Table));
            }

            return
                (EntitySet.Create(
                     sourceEntitySet.Name,
                     null,
                     null,
                     definingQuery,
                     sourceEntitySet.ElementType,
                     metadataProperties));
        }
Example #2
0
        // virtual for testing
        internal virtual EdmModel CreateStoreModel()
        {
            var storeModel =
                new StoreModelBuilder(
                    _settings.RuntimeProviderInvariantName,
                    _settings.ProviderManifestToken,
                    _settings.TargetSchemaVersion,
                    _storeModelNamespace,
                    DependencyResolver.Instance,
                    _settings.IncludeForeignKeysInModel)
                .Build(GetStoreSchemaDetails(new StoreSchemaConnectionFactory()));

            return(storeModel);
        }
Example #3
0
 public void Config(StoreModelBuilder modelBuilder)
 {
     // use soft deletion.
     modelBuilder.Entity <ISoftDeletion>().DirectDeletion(false);
     modelBuilder.Entity <ISoftDeletion>().HasQueryFilter(s => !s.IsDeleted);
 }
Example #4
0
 public void Config(StoreModelBuilder modelBuilder)
 {
     modelBuilder.Entity <FakeEntityA>().Ignored("No");
 }
Example #5
0
 public void Config(StoreModelBuilder modelBuilder)
 {
     modelBuilder.Entity <FakeEntityA>().HasQueryFilter(s => s.Name.Equals("AAA"));
 }