EntityFramework
Strongly-typed and parameterized string resources.
A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set."
A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name."
A string like "Role '{0}' in AssociationSets ‘{1}’ and ‘{2}’ refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet."
A string like "The referenced EntitySet ‘{0}’ for End ‘{1}’ could not be found in the containing EntityContainer."
A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types."
A string like "EntitySet ‘{0}’ is based on type ‘{1}’ that has no keys defined."
A string like "The end name ‘{0}’ is already defined."
A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element."
A string like "Property '{0}' has a CollectionKind specified but is not a collection property."
A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models."
A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models."
A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models."
A string like "Key part '{0}' for type ‘{1}’ is not valid. All parts of the key must be non-nullable."
A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType."
A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes (‘{1}’) defines keys."
A string like "EntityType '{0}' has no key defined. Define the key for this EntityType."
A string like "NavigationProperty is not valid. Role ‘{0}’ or Role ‘{1}’ is not defined in Relationship ‘{2}’."
A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'."
A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined."
A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type."
A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'."
A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'."
A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'."
A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'."
A string like "Properties referred by the Dependent Role ‘{0}’ must be a subset of the key of the EntityType ‘{1}’ referred to by the Dependent Role in the referential constraint for relationship ‘{2}’."
A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘1’."
A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘*’."
A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'."
A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'."
A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls."
A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType or a PrimitiveType."
A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined."
A string like "Each type name in a schema must be unique. Type name '{0}' is already defined."
A string like "Name ‘{0}’ cannot be used in type ‘{1}’. Member names cannot be the same as their enclosing type."
A string like "Each property name in a type must be unique. Property name '{0}' is already defined."
A string like "A cycle was detected in the type hierarchy of '{0}'."
A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType, a PrimitiveType, or a CollectionType."
A string like "The specified name must not be longer than 480 characters: '{0}'."
A string like "The specified name is not allowed: '{0}'."
A string like "NavigationProperty is not valid. The FromRole and ToRole are the same."
A string like "OnDelete can be specified on only one End of an EdmAssociation."
A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical."
A string like "The name is missing or not valid."
A string like "AssociationEnd must not be null."
A string like "DependentEnd must not be null."
A string like "DependentProperties must not be empty."
A string like "Association must not be null."
A string like "ResultEnd must not be null."
A string like "EntityType must not be null."
A string like "ElementType must not be null."
A string like "ElementType must not be null."
A string like "SourceSet must not be null."
A string like "TargetSet must not be null."
A string like "The type is not a valid EdmTypeReference."
A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer."
Strongly-typed and parameterized exception factory.
The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag.
The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.
Allows the construction and modification of a user-specified annotation (name-value pair) on a instance.
INamedDataModelItem is implemented by model-specific base types for all types with a property.
Gets or sets the currently assigned name.
Constructs a new DataModelAnnotation
Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value.
Gets or sets the name of the annotation.
Gets or sets the value of the annotation.
DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models.
Gets a value indicating the that caused the event to be raised.
Gets an optional value indicating which property of the source item caused the event to be raised.
Gets a value that identifies the specific error that is being raised.
Gets an optional descriptive message the describes the error that is being raised.
DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API.
IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property.
Gets or sets the currently assigned annotations.
DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database.
NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property.
The base for all all Database Metadata types that support annotation using .
DbDataModelItem is the base for all types in the Database Metadata construction and modification API.
Gets or sets the currently assigned annotations.
Gets or sets the currently assigned name.
Gets an optional alternative identifier that should be used when referring to this item in the database.
When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row.
Gets or sets a string indicating the database-specific type of the column.
Gets or sets a value indicating whether the column is nullable.
Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column.
Allows the construction and modification of a database in a Database Metadata model.
Gets or sets an optional value that indicates the database model version.
Gets or sets the collection of instances that specifies the schemas within the database.
Allows the construction and modification of a foreign key constraint sourced by a instance.
Gets or sets the to take when a delete operation is attempted.
Indicates which Database Metadata concept is represented by a given item.
Database Kind
Schema Kind
Foreign Key Constraint Kind
Function Kind
Function Parameter Kind
Function Return or Parameter Type Kind
Row Column Kind
Table Kind
Table Column Kind
Primitive Facets Kind
Specifies the action to take on a given operation.
Default behavior
Restrict the operation
Cascade the operation
Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item.
Returns true
if any facet value property currently has a non-null value; otherwise returns false
.
Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length.
Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value.
Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode.
Gets or sets an optional value indicating the current constraint on the type's maximum length.
Gets or sets an optional value indicating the current constraint on the type's precision.
Gets or sets an optional value indicating the current constraint on the type's scale.
Allows the construction and modification of a database schema in a database model.
Gets or sets the collection of instances that specifies the tables declared within the schema.
DbSchemaMetadataItem is the base for all types that can be contained in a schema.
Allows the construction and modification of a column in a table.
Gets or sets a value indicating whether the column is part of the table's primary key.
Gets or sets a value indicating if and how the value of the column is automatically generated.
Gets or sets an optional value indicating the collation specific to this table column.
Gets or sets an optional value that specifies the default value for the column.
Allows the construction and modification a table in a database schema.
Gets or sets the collection of instances that specifies the columns present within the table.
Gets or sets the collection of instances from the collection of the table that are part of the primary key.
Gets or sets the collection of instances that defines the foreign key constraints sourced from the table.
Represents a specific use of a type in a Database Metadata item.
Gets or sets an optional instance that applies additional constraints to a referenced primitive type.
Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value.
Gets or sets a value indicating whether the represented type is a collection type.
Gets or sets an optional value indicating whether the referenced type should be considered nullable.
Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns.
Represents the mapping of an EDM association end () as a collection of property mappings ().
DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using .
DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API.
Gets or sets the currently assigned annotations.
Gets an value representing the association end that is being mapped.
Gets the collection of s that specifies how the association end key properties are mapped to the table.
Gets an value representing the association set that is being mapped.
Gets a value representing the table to which the entity type's properties are being mapped.
Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply.
Allows the construction and modification of a condition for a column in a database table.
Gets or sets a value representing the table column which must contain for this condition to hold.
Gets or sets the value that must contain for this condition to hold.
Represents the mapping of an entity property to a column in a database table.
Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types.
Gets or sets a value representing the table column to which the entity property is being mapped.
Allows the construction and modification of the mapping of an EDM entity container () to a database ().
Gets or sets an value representing the entity container that is being mapped.
Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database.
Gets the collection of s that specifies how the container's association sets are mapped to the database.
Allows the construction and modification of the mapping of an EDM entity set () to a database ().
Gets or sets an value representing the entity set that is being mapped.
Gets or sets the collection of s that specifies how the set's entity types are mapped to the database.
Allows the construction and modification of a complete or partial mapping of an EDM entity type () or type hierarchy to a specific database table ().
Gets or sets an value representing the entity type or hierarchy that is being mapped.
Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes (true
), or only to (false
).
Gets a value representing the table to which the entity type's properties are being mapped.
Gets the collection of s that specifies how the type's properties are mapped to the table.
Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply.
Indicates which EDM-to-Database Mapping concept is represented by a given item.
Database Mapping Kind
Entity Container Mapping Kind
Entity Set Mapping Kind
Association Set Mapping Kind
Entity Type Mapping Kind
Query View Mapping Kind
Entity Type Mapping Fragment Kind
Edm Property Mapping Kind
Association End Mapping Kind
Column Condition Kind
Property Condition Kind
Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association.
The base for all all Entity Data Model (EDM) types that support annotation using .
EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API.
Gets an value indicating which Entity Data Model (EDM) concept is represented by this item.
Gets or sets the currently assigned annotations.
Returns all EdmItem children directly contained by this EdmItem.
Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection.
Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type.
Allows the construction and modification of one end of an Entity Data Model (EDM) association.
EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API.
The base for all all Entity Data Model (EDM) item types that with a property.
Gets or sets the currently assigned name.
Gets or sets the entity type referenced by this association end.
Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required.
Gets or sets the to take when a delete operation is attempted.
Indicates the multiplicity of an and whether or not it is required.
Allows the construction and modification of an association set in an Entity Data Model (EDM) ).
Represents an item in an Entity Data Model (EDM) .
Gets or sets the that specifies the association type for the set.
Gets or sets the that specifies the entity set corresponding to the association end for this association set.
Gets or sets the that specifies the entity set corresponding to the association end for this association set.
The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system.
The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system.
Represents an item in an Entity Data Model (EDM) .
The base for all all Entity Data Model (EDM) item types that with a Name property
that represents a qualified (can be dotted) name.
Gets a value indicating whether this type is abstract.
Gets the optional base type of this type.
Gets or sets the that defines the source end of the association.
Gets or sets the that defines the target end of the association.
Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified).
Collection semantics for properties.
The property does not have a collection type or does not specify explicit collection semantics.
The property is an unordered collection that may contain duplicates.
The property is an ordered collection that may contain duplicates.
Allows the construction and modification of a complex type in an Entity Data Model (EDM) .
Gets or sets the optional that indicates the base complex type of the complex type.
Gets or sets a value indicating whether the complex type is abstract.
Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type.
Concurrency mode for properties.
Default concurrency mode: the property is never validated
at write time
Fixed concurrency mode: the property is always validated at
write time
Allows the construction and modification of an entity container in an Entity Data Model (EDM) .
Gets all s declared within the namspace. Includes s and s.
Gets or sets the collection of s that specifies the association sets within the container.
Gets or sets the collection of s that specifies the entity sets within the container.
Allows the construction and modification of an entity set in an Entity Data Model (EDM) .
Gets or sets the that specifies the entity type for the set.
Allows the construction and modification of an entity type in an Entity Data Model (EDM) .
Gets or sets the optional that indicates the base entity type of the entity type.
Gets or sets a value indicating whether the entity type is abstract.
Gets or sets the collection of s that specifies the properties declared by the entity type.
Gets or sets the collection of s that indicates which properties from the collection are part of the entity key.
Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type.
Indicates which Entity Data Model (EDM) concept is represented by a given item.
Association End Kind
Association Set Kind
Association Type Kind
Collection Type Kind
Complex Type Kind
Entity Container Kind
Entity Set Kind
Entity Type Kind
Function Group Kind
Function Overload Kind
Function Import Kind
Function Parameter Kind
Navigation Property Kind
EdmProperty Type Kind
Association Constraint Type Kind
Ref Type Kind
Row Column Kind
Row Type Kind
Type Reference Kind
Model Kind
Namespace Kind
Primitive Facets Kind
Primitive Type Kind
EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model.
Gets or sets an optional value that indicates the entity model version.
Gets or sets the containers declared within the model.
Gets or sets the namespaces declared within the model.
Allows the construction and modification of a namespace in an .
Gets all s declared within the namspace. Includes s, s, s.
Gets or sets the s declared within the namespace.
Gets or sets the s declared within the namespace.
Gets or sets the s declared within the namespace.
Allows the construction and modification of an Entity Data Model (EDM) navigation property.
Gets or sets the that specifies the association over which navigation takes place.
Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result.
Specifies the action to take on a given operation.
Default behavior
Restrict the operation
Cascade the operation
Represents one of the fixed set of Entity Data Model (EDM) primitive types.
The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system.
Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any.
The name of the primitive type instance to retrieve
The EdmPrimitiveType with the specified name, if successful; otherwise null.
true if the given name corresponds to an EDM primitive type name; otherwise false.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets the EdmPrimitiveType instance that represents the primitive type.
Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents.
Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See .
Returns true
if any facet value property currently has a non-null value; otherwise returns false
.
Gets or sets an optional value indicating the current constraint on the type's maximum length.
Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value.
Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length.
Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode.
Gets or sets an optional value indicating the current constraint on the type's precision.
Gets or sets an optional value indicating the current constraint on the type's scale.
Primitive Types as defined by the Entity Data Model (EDM).
Binary Type Kind
Boolean Type Kind
Byte Type Kind
DateTime Type Kind
Decimal Type Kind
Double Type Kind
Guid Type Kind
Single Type Kind
SByte Type Kind
Int16 Type Kind
Int32 Type Kind
Int64 Type Kind
String Type Kind
Time Type Kind
DateTimeOffset Type Kind
Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type.
Gets or sets an value that indicates which collection semantics - if any - apply to the property.
Gets or sets a value that indicates whether the property is used for concurrency validation.
Gets or sets on optional value that indicates an initial default value for the property.
Gets or sets an that specifies the result type of the property.
Enumerates all s declared or inherited by an .
Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples.
Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced .
Gets or sets a value indicating the referenced by this type reference.
Gets or sets an optional value indicating whether the referenced type should be considered nullable.
Gets or sets an optional instance that applies additional constraints to a referenced primitive type.
Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value.
Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified.
Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not.
Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified.
Gets the currently referred to by this type reference, or null
if the type reference is a collection type or does not refer to a complex type.
Indicates whether the property of this type reference currently refers to an and is not a collection type.
Gets the currently referred to by this type reference, or null
if the type reference is a collection type or does not refer to a primitive type.
Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ).
Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string)
method to avoid LinkDemand needed to call this method
Constants for CSDL XML.
Constants for C-S MSL XML.
Constants for SSDL XML.
The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools.
Precision out of range
Scale out of range
One of the required facets is missing
The facet isn't allow by the property type.
This facet value is constant and is specified in the schema
Multiplicity value was malformed
The value for the Action attribute is invalid or not allowed in the current context
An error occurred processing the On<Operation> elements
Ends were given for the Property element of a EntityContainer that is not a RelationshipSet
The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer
An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities.
An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet.
Not a valid parameter direction for the parameter in a function
Unable to infer an optional schema part, to resolve this; be more explicit
Invalid facet attribute(s) specified in provider manifest
Invalid role value in the relationship constraint
Invalid Property in relationship constraint
Type mismatch between ToProperty and FromProperty in the relationship constraint
Invalid multiplicity in FromRole in the relationship constraint
The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical
No Properties defined in either FromProperty or ToProperty in the relationship constraint
Missing constraint in relationship type in ssdl
Same role referred in the ToRole and FromRole of a referential constraint
Invalid value for attribute ParameterTypeSemantics
Invalid type used for a Relationship End Type
Invalid PrimitiveTypeKind
Invalid TypeConversion DestinationType
Expected a integer value between 0 - 255
Invalid Type specified in function
Precision must not be greater than 28
Properties that are part of entity key must be of scalar type
Binary type properties which are part of entity key are currently not supported
The primitive type kind does not have a preferred mapping
More than one PreferredMapping for a PrimitiveTypeKind
End with * multiplicity cannot have operations specified
EntitySet type has no keys
InvalidNumberOfParametersForAggregateFunction
InvalidParameterTypeForAggregateFunction
Composable functions must declare a return type.
Non-composable functions must not declare a return type.
Non-composable functions do not permit the aggregate; niladic; or built-in attributes.
Composable functions can not include command text attribute.
Functions should not declare both a store name and command text (only one or the other
can be used).
SystemNamespace
Empty DefiningQuery text
Schema, Table and DefiningQuery are all specified, and are mutually exclusive
ConcurrencyMode value was malformed
Concurrency can't change for any sub types of an EntitySet type.
Function import return type must be either empty, a collection of entities, or a singleton scalar.
Function import specifies a non-existent entity set.
Function import specifies entity type return but no entity set.
Function import specifies entity type that does not derive from element type of entity set.
Function import specifies a binding to an entity set but does not return entities.
InternalError
Same Entity Set Taking part in the same role of the relationship set in two different relationship sets
Entity key refers to the same property twice
Function declares a ReturnType attribute and element
Nullable Complex Type not supported in Edm V1
Only Complex Collections supported in Edm V1.1
No Key defined on Entity Type
Invalid namespace specified in using element
Need not specify system namespace in using
Cannot use a reserved/system namespace as alias
Invalid qualification specified for type
Invalid Entity Container Name in extends attribute
Invalid CollectionKind value in property CollectionKind attribute
Must specify namespace or alias of the schema in which this type is defined
Entity Container cannot extend itself
Failed to retrieve provider manifest
Mismatched Provider Manifest token values in SSDL artifacts
Missing Provider Manifest token value in SSDL artifact(s)
Empty CommandText element
Inconsistent Provider values in SSDL artifacts
Inconsistent Provider Manifest token values in SSDL artifacts
Duplicated Function overloads
InvalidProvider
FunctionWithNonEdmTypeNotSupported
ComplexTypeAsReturnTypeAndDefinedEntitySet
ComplexTypeAsReturnTypeAndDefinedEntitySet
unused 179,
unused 180,
unused 181,
In model functions facet attribute is allowed only on ScalarTypes
Captures several conditions where facets are placed on element where it should not exist.
Return type has not been declared
Invalid value in the EnumTypeOption
The structural annotation cannot use codegen namespaces
Function and type cannot have the same fully qualified name
Cannot load different version of schema in the same ItemCollection
Expected bool value
End without Multiplicity specified
In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types.
The name of NamedEdmItem must not be empty or white space only
EdmTypeReference is empty
Unused 199;
Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer.
The model to be serialized must contain a single and a single .
The CSDL Serializer for the EdmModel.
Serialize the to the XmlWriter.
The EdmModel to serialize, mut have only one and one
The XmlWriter to serialize to
MSL Serializer for DbModel
Serialize the to the XmlWriter
The DbModel to serialize
The XmlWriter to serialize to
SSDL Serializer for DbDatabaseMetadata
Serialize the to the
The DbDatabaseMetadata to serialize
Provider information on the Schema element
ProviderManifestToken information on the Schema element
The XmlWriter to serialize to
author/email
author/name
author/uri
published
rights
summary
title
contributor/email
contributor/name
contributor/uri
category/@label
Plaintext
HTML
XHTML
updated
link/@href
link/@rel
link/@type
link/@hreflang
link/@title
link/@length
category/@term
category/@scheme
Return role name pair
The context for DataModel Validation
Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same
and the entity set refered by the ends are same and they are from the same role
Return true if the Referential Constraint on the association is ready for further validation, otherwise return false.
Resolves the given property names to the property in the item
Also checks whether the properties form the key for the given type and whether all the properties are nullable or not
Return true if the namespaceName is a Edm System Namespace
Return true if the entityType is a subtype of any entity type in the dictionary keys,
and return the corresponding entry EntitySet value. Otherwise return false.
Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false.
Add member name to the Hash set, raise an error if the name exists already.
If the string is null, empty, or only whitespace, return false, otherwise return true
Determine if a cycle exists in the type hierarchy: use two pointers to
walk the chain, if one catches up with the other, we have a cycle.
true if a cycle exists in the type hierarchy, false otherwise
RuleSet for DataModel Validation
Get the related rules given certain DataModelItem
The to validate
A collection of
Data Model Validator
Validate the and all of its properties given certain version.
The root of the model to be validated
True to validate the syntax, otherwise false
The RuleSet for EdmModel
Get based on version
a double value of version
The context for EdmModel Validation
Visitor for EdmModel Validation
Edm Model Validator
validate the from the root with the context
The root to validate from
The validation context
Strongly-typed and parameterized string resources.
A string like "The argument '{0}' cannot be null, empty or contain only white space."
A string like "The argument property '{0}' cannot be null."
A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type."
A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type."
A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property."
A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property."
A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property."
A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property."
A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'."
A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'."
A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'."
A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'."
A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}"
A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}"
A string like "{0} = {1} conflicts with {2} = {3}"
A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject."
A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject."
A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself."
A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys."
A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method."
A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information."
A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'."
A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities."
A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys."
A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty."
A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names."
A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name."
A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API."
A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property."
A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property."
A string like "\t{0}: {1}: {2}"
A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'."
A string like "The {0} value '{1}' already exists in the user-defined dictionary."
A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call."
A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name."
A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax."
A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation."
A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string."
A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set."
A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model."
A string like "Unable to determine the provider name for connection of type '{0}'."
A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length."
A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length."
A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method."
A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once."
A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once."
A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model."
A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them."
A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types."
A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified."
A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns."
A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations."
A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. "
A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. "
A string like "One or more validation errors were detected during model generation:"
A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported."
Strongly-typed and parameterized exception factory.
ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space."
ArgumentException with message like "The argument property '{0}' cannot be null."
InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type."
InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type."
InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property."
InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property."
InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property."
InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property."
InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'."
InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'."
InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'."
InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'."
InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}"
InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}"
InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject."
InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject."
InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself."
InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys."
MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method."
InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information."
InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'."
InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities."
InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys."
InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty."
InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names."
InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name."
InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API."
InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property."
InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property."
InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'."
InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call."
InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name."
InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax."
InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation."
ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string."
InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set."
InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model."
NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'."
ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length."
ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length."
InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method."
InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once."
InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once."
InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model."
InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them."
InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types."
InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified."
InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns."
InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported."
InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations."
InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. "
NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. "
The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag.
The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.
Strongly-typed and parameterized string resources.
A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor."
A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor."
A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state."
A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model."
A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed."
A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created."
A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method."
A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method."
A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method."
A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method."
A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method."
A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property."
A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property.""
A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties.""
A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'."
A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead."
A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'."
A string like "The expression passed to method {0} must represent a property defined on the type '{1}'."
A string like "{0} cannot be used for entities in the {1} state."
A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'."
A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property."
A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'."
A string like "The '{0}' property does not exist or is not mapped for the type '{1}'."
A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'."
A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'."
A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties."
A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties."
A string like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data."
A string like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'."
A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details."
A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name."
A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute.""
A string like "The entity found was of type {0} when an entity of type {1} was requested."
A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types."
A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute."
A string like "The entity type {0} is not part of the model for the current context."
A string like "No connection string named '{0}' could be found in the application config file."
A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor."
A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'."
A string like "The context type '{0}' must have a public constructor taking an EntityConnection."
A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details."
A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details."
A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file."
A string like "Setting IsModified to false for a modified property is not supported."
A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details."
A string like "The set of property value names is read-only."
A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type."
A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility."
A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions."
A string like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions."
A string like "The context cannot be used while the model is being created."
A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)."
A string like "The operation cannot be completed because the DbContext has been disposed."
A string like "The provider factory returned a null connection."
A string like "The DbConnectionFactory instance returned a null connection."
A string like "The number of primary key values passed must match number of primary key values defined on the entity."
A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details."
A string like "Multiple entities were found in the Added state that match the given primary key values."
A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()."
A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties."
A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection."
A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used."
A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details."
A string like "An exception occurred while initializing the database. See the InnerException for details."
A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception."
Strongly-typed and parameterized exception factory.
InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor."
InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor."
NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state."
InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model."
ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed."
ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created."
ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method."
ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method."
ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method."
ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method."
ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method."
ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property."
ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property.""
ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties.""
ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'."
ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead."
ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'."
NotSupportedException with message like "Setting IsModified to false for a modified property is not supported."
ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'."
InvalidOperationException with message like "{0} cannot be used for entities in the {1} state."
InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'."
InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property."
InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'."
NotSupportedException with message like "The set of property value names is read-only."
ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'."
ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'."
ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'."
ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type."
InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties."
InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties."
InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data."
NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility."
NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions."
NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions."
InvalidOperationException with message like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'."
InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details."
InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name."
InvalidOperationException with message like "The context cannot be used while the model is being created."
InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)."
InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed."
InvalidOperationException with message like "The provider factory returned a null connection."
InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute.""
InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection."
ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity."
ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details."
InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested."
InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values."
InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types."
InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute."
InvalidOperationException with message like "The entity type {0} is not part of the model for the current context."
NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()."
ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties."
InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file."
InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection."
NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor."
NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used."
InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'."
InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection."
NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file."
DataException with message like "An exception occurred while initializing the database. See the InnerException for details."
NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel."
The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag.
The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.
Strongly-typed and parameterized string resources.
A string like "The field {0} must be a string or array type with a maximum length of '{1}'."
A string like "The field {0} must be a string or array type with a minimum length of '{1}'."
A string like "The argument '{0}' cannot be null, empty or contain only white space."
A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
A string like "MinLengthAttribute must have a Length value that is zero or greater."
Strongly-typed and parameterized exception factory.
InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length."
InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater."
ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space."
The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag.
The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality.
Gets or sets an value representing the model that is being mapped.
Gets or sets a value representing the database that is the target of the mapping.
Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database.
This convention uses the name of the derived
class as the container for the conceptual model built by
Code First.
Identifies conventions that can be removed from a instance.
Initializes a new instance of the class.
The model container name.
Applies the convention to the given model.
The model.
This convention uses the namespace of the derived
class as the namespace of the conceptual model built by
Code First.
Initializes a new instance of the class.
The model namespace.
Applies the convention to the given model.
The model.
Thrown when a context is generated from the templates in Database First or Model
First mode and is then used in Code First mode.
Code generated using the T4 templates provided for Database First and Model First use may not work
correctly if used in Code First mode. To use these classes with Code First please add any additional
configuration using attributes or the DbModelBuilder API and then remove the code that throws this
exception.
Initializes a new instance of the class.
Initializes a new instance of the class.
The object that holds the serialized object data.
The contextual information about the source or destination.
Initializes a new instance of the class.
The message.
Initializes a new instance of the class.
The message.
The inner exception.
Adapted from to allow the initializer to take an input object and
to do one-time initialization that only has side-effects and doesn't return a value.
The type of the input.
Initializes a new instance of the class.
The action.
Performs the action unless it has already been successfully performed before.
The input to the action; ignored if the action has already succeeded.
Adapted from to allow the initializer to take an input object and
to retry initialization if it has previously failed.
This class can only be used to initialize reference types that will not be null when
initialized.
The type of the input.
The type of the result.
Initializes a new instance of the class.
The value factory.
Gets the value, possibly by running the initializer if it has not been run before or
if all previous times it ran resulted in exceptions.
The input to the initializer; ignored if initialization has already succeeded.
The initialized object.
Abstracts simple validators used to validate entities and properties.
Validates an entity or a property.
Validation context. Never null.
Property to validate. Can be null for type level validation.
Validation error as. Empty if no errors. Never null.
Contracts for interface.
Contract for IValidator.Validate method.
Validation context.
Property.
Nothing - always throws.
Indicates what parts of a configuration are overridable.
Nothing in the configuration is overridable.
The configuration values related to C-Space are overridable.
The configuration values only related to S-Space are overridable.
Populate the table mapping structure
Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations
when no base types share the the association set mapping's table
Makes sure only the required property mappings are present
Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping
Base class for configuring a property on an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider.
Convention to process instances of found on navigation properties in the model.
Exception thrown from when an exception is thrown from the validation
code.
Initializes a new instance of DbUnexpectedValidationException
The exception message.
Initializes a new instance of DbUnexpectedValidationException
The exception message.
Initializes a new instance of DbUnexpectedValidationException
The exception message.
The inner exception.
Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and
context.
The serialization info.
The streaming context.
An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the
database the first time that a context is used in the app domain.
To seed the database, create a derived class and override the Seed method.
The type of the context.
Executes the strategy to initialize the database for the given context.
The context.
Executes the strategy to initialize the database for the given context.
The context.
A that should be overridden to actually add data to the context for seeding.
The default implementation does nothing.
The context to seed.
An implementation of IDatabaseInitializer that will recreate and optionally re-seed the
database only if the database does not exist.
To seed the database, create a derived class and override the Seed method.
The type of the context.
Executes the strategy to initialize the database for the given context.
The context.
A that should be overridden to actually add data to the context for seeding.
The default implementation does nothing.
The context to seed.
An instances of this class is obtained from an object and can be used
to manage the actual database backing a DbContext or connection.
This includes creating, deleting, and checking for the existence of a database.
Note that deletion and checking for existence of a database can be performed using just a
connection (i.e. without a full context) by using the static methods of this class.
Creates a Database backed by the given context. This object can be used to create a database,
check for database existence, and delete a database.
The context that defines the database connection and model.
Gets or sets the database initialization strategy. The database initialization strategy is called when instance
is initialized from a . The strategy can optionally check for database existence, create a new database, and
seed the database with data.
The default strategy is an instance of created with useSeedData set
to true.
The type of the context.
The strategy.
The database creation strategy.
Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced
by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set
in code.
The type of the context.
The strategy.
if set to true then the strategy is locked.
Runs the the registered on this context.
If "force" is set to true, then the initializer is run regardless of whether or not it
has been run before. This can be useful if a database is deleted while an app is running
and needs to be reinitialized.
If "force" is set to false, then the initializer is only run if it has not already been
run for this context, model, and connection in this app domain. This method is typically
used when it is necessary to ensure that the database has been created and seeded
before starting some operation where doing so lazily will cause issues, such as when the
operation is part of a transaction.
if set to true the initializer is run even if it has already been run.
This method returns true if the context has a model hash and the database contains a model hash
and these hashes match. This indicates that the model used to create the database is the same
as the current model and so the two can be used together.
If set to true then an exception will be thrown if no
model metadata is found either in the model associated with the context or in the database
itself. If set to false then this method will return true if metadata is
not found.
True if the model hash in the context and the database match; false otherwise.
Creates a new database on the database server for the model defined in the backing context.
Note that calling this method before the database initialization strategy has run will disable
executing that strategy.
Creates a new database on the database server for the model defined in the backing context, but only
if a database with the same name does not already exist on the server.
True if the database did not exist and was created; false otherwise.
Checks whether or not the database exists on the server.
True if the database exists; false otherwise.
Deletes the database on the database server if it exists, otherwise does nothing.
True if the database did exist and was deleted; false otherwise.
Checks whether or not the database exists on the server.
The connection to the database is created using the given database name or connection string
in the same way as is described in the documentation for the class.
The database name or a connection string to the database.
True if the database exists; false otherwise.
Deletes the database on the database server if it exists, otherwise does nothing.
The connection to the database is created using the given database name or connection string
in the same way as is described in the documentation for the class.
The database name or a connection string to the database.
True if the database did exist and was deleted; false otherwise.
Checks whether or not the database exists on the server.
An existing connection to the database.
True if the database exists; false otherwise.
Deletes the database on the database server if it exists, otherwise does nothing.
An existing connection to the database.
True if the database did exist and was deleted; false otherwise.
Performs the operation defined by the given delegate using the given lazy connection, ensuring
that the lazy connection is disposed after use.
Information used to create a DbConnection.
The operation to perform.
The return value of the operation.
Performs the operation defined by the given delegate against a connection. The connection
is either the connection accessed from the context backing this object, or is obtained from
the connection information passed to one of the static methods.
The connection to use.
The operation to perform.
The return value of the operation.
Returns an empty ObjectContext that can be used to perform delete/exists operations.
The connection for which to create an ObjectContext
The empty context.
Creates a raw SQL query that will return elements of the given generic type.
The type can be any type that has properties that match the names of the columns returned
from the query, or can be a simple primitive type. The type does not have to be an
entity type. The results of this query are never tracked by the context even if the
type of object returned is an entity type. Use the
method to return entities that are tracked by the context.
The type of object returned by the query.
The SQL query string.
The parameters to apply to the SQL query string.
A object that will execute the query when it is enumerated.
Creates a raw SQL query that will return elements of the given type.
The type can be any type that has properties that match the names of the columns returned
from the query, or can be a simple primitive type. The type does not have to be an
entity type. The results of this query are never tracked by the context even if the
type of object returned is an entity type. Use the
method to return entities that are tracked by the context.
The type of object returned by the query.
The SQL query string.
The parameters to apply to the SQL query string.
A object that will execute the query when it is enumerated.
Executes the given DDL/DML command against the database.
The command string.
The parameters to apply to the command string.
The result returned by the database after executing the command.
Returns the connection being used by this context. This may cause the context to be initialized
and the connection to be created if it does not already exist.
Thrown if the context has been disposed.
Returns the as a delegate that can be called with
an instance of the that owns this Database object, or returns null if
there is no initializer set for this context type.
The initializer delegate or null.
The connection factory to use when creating a from just
a database name or a connection string.
This is used when just a database name or connection string is given to or when
the no database name or connection is given to DbContext in which case the name of
the context class is passed to this factory in order to generate a DbConnection.
The default connection factory creates a connection to SQL Express on the local machine. However,
this default may be changed by an application framework.
An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the
database only if the model has changed since the database was created. This is achieved by writing a
hash of the store model to the database when it is created and then comparing that hash with one
generated from the current model.
To seed the database, create a derived class and override the Seed method.
Executes the strategy to initialize the database for the given context.
The context.
A that should be overridden to actually add data to the context for seeding.
The default implementation does nothing.
The context to seed.
A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that
it can be used to query from a database and group together changes that will then be written
back to the store as a unit.
DbContext is conceptually similar to ObjectContext.
DbContext is usually used with a derived type that contains properties for
the root entities of the model. These sets are automatically initialized when the
instance of the derived class is created. This behavior can be modified by applying the
attribute to either the entire derived context
class, or to individual properties on the class.
The Entity Data Model backing the context can be specified in several ways. When using the Code First
approach, the properties on the derived context are used to build a model
by convention. The protected OnModelCreating method can be overridden to tweak this model. More
control over the model used for the Model First approach can be obtained by creating a
explicitly from a and passing this model to one of the DbContext constructors.
When using the Database First or Model First approach the Entity Data Model can be created using the
Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using
entity connection string or an object.
The connection to the database (including the name of the database) can be specified in several ways.
If the parameterless DbContext constructor is called from a derived context, then the name of the derived context
is used to find a connection string in the app.config or web.config file. If no connection string is found, then
the name is passed to the DefaultConnectionFactory registered on the class. The connection
factory then uses the context name as the database name in a default connection string. (This default connection
string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.)
Instead of using the derived context name, the connection/database name can also be specified explicitly by
passing the name to one of the DbContext constructors that takes a string. The name can also be passed in
the form "name=myname", in which case the name must be found in the config file or an exception will be thrown.
Note that the connection found in the app.config or web.config file can be a normal database connection
string (not a special Entity Framework connection string) in which case the DbContext will use Code First.
However, if the connection found in the config file is a special Entity Framework connection string, then the
DbContext will use Database/Model First and the model specified in the connection string will be used.
An existing or explicitly created DbConnection can also be used instead of the database/connection name.
A can be applied to a class derived from DbContext to set the
version of conventions used by the context when it creates a model. If no attribute is applied then the
latest version of conventions will be used.
Interface implemented by objects that can provide an instance.
The class implements this interface to provide access to the underlying
ObjectContext.
Gets the object context.
The object context.
Constructs a new context instance using conventions to create the name of the database to
which a connection will be made. The by-convention name is the full name (namespace + class name)
of the derived context class.
See the class remarks for how this is used to create a connection.
Constructs a new context instance using conventions to create the name of the database to
which a connection will be made, and initializes it from the given model.
The by-convention name is the full name (namespace + class name) of the derived context class.
See the class remarks for how this is used to create a connection.
The model that will back this context.
Constructs a new context instance using the given string as the name or connection string for the
database to which a connection will be made.
See the class remarks for how this is used to create a connection.
Either the database name or a connection string.
Constructs a new context instance using the given string as the name or connection string for the
database to which a connection will be made, and initializes it from the given model.
See the class remarks for how this is used to create a connection.
Either the database name or a connection string.
The model that will back this context.
Constructs a new context instance using the existing connection to connect to a database.
The connection will not be disposed when the context is disposed.
An existing connection to use for the new context.
If set to true the connection is disposed when
the context is disposed, otherwise the caller must dispose the connection.
Constructs a new context instance using the existing connection to connect to a database,
and initializes it from the given model.
The connection will not be disposed when the context is disposed.
An existing connection to use for the new context.
The model that will back this context.
If set to true the connection is disposed when
the context is disposed, otherwise the caller must dispose the connection.
Constructs a new context instance around an existing ObjectContext.
An existing ObjectContext to wrap with the new context.
If set to true the ObjectContext is disposed when
the DbContext is disposed, otherwise the caller must dispose the connection.
Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided.
Discovers DbSets and initializes them.
This method is called when the model for a derived context has been initialized, but
before the model has been locked down and used to initialize the context. The default
implementation of this method does nothing, but it can be overridden in a derived class
such that the model can be further configured before it is locked down.
Typically, this method is called only once when the first instance of a derived context
is created. The model for that context is then cached and is for all further instances of
the context in the app domain. This caching can be disabled by setting the ModelCaching
property on the given ModelBuidler, but note that this can seriously degrade performance.
More control over caching is provided through use of the DbModelBuilder and DbContextFactory
classes directly.
The builder that defines the model for the context being created.
Internal method used to make the call to the real OnModelCreating method.
The model builder.
Returns a DbSet instance for access to entities of the given type in the context,
the ObjectStateManager, and the underlying store.
See the DbSet class for more details.
The type entity for which a set should be returned.
A set for the given entity type.
Returns a non-generic DbSet instance for access to entities of the given type in the context,
the ObjectStateManager, and the underlying store.
The type of entity for which a set should be returned.
A set for the given entity type.
See the DbSet class for more details.
Saves all changes made in this context to the underlying database.
The number of objects written to the underlying database.
Thrown if the context has been disposed.
Validates tracked entities and returns a Collection of containing validation results.
Collection of validation results for invalid entities. The collection is never null and must not contain null
values or results for valid entities.
1. This method calls DetectChanges() to determine states of the tracked entities unless
DbContextConfiguration.AutoDetectChangesEnabled is set to false.
2. By default only Added on Modified entities are validated. The user is able to change this behavior
by overriding ShouldValidateEntity method.
Extension point allowing the user to override the default behavior of validating only
added and modified entities.
DbEntityEntry instance that is supposed to be validated.
true to proceed with validation. false otherwise.
Extension point allowing the user to customize validation of an entity or filter out validation results.
Called by .
DbEntityEntry instance to be validated.
User defined dictionary containing additional info for custom validation.
It will be passed to
and will be exposed as .
This parameter is optional and can be null.
Entity validation result. Possibly null when overridden.
Internal method that calls the protected ValidateEntity method.
DbEntityEntry instance to be validated.
User defined dictionary containing additional info for custom validation.
It will be passed to
and will be exposed as .
This parameter is optional and can be null.
Entity validation result. Possibly null when ValidateEntity is overridden.
Gets a object for the given entity providing access to
information about the entity and the ability to perform actions on the entity.
The type of the entity.
The entity.
An entry for the entity.
Gets a object for the given entity providing access to
information about the entity and the ability to perform actions on the entity.
The entity.
An entry for the entity.
Calls the protected Dispose method.
Disposes the context. The underlying is also disposed if it was created
is by this context or ownership was passed to this context when this context was created.
The connection to the database ( object) is also disposed if it was created
is by this context or ownership was passed to this context when this context was created.
true to release both managed and unmanaged resources; false to release only unmanaged resources.
Creates a Database instance for this context that allows for creation/deletion/existence checks
for the underlying database.
Returns the Entity Framework ObjectContext that is underlying this context.
Thrown if the context has been disposed.
Provides access to features of the context that deal with change tracking of entities.
An object used to access features that deal with change tracking.
Provides access to configuration options for the context.
An object used to access configuration options.
Provides access to the underlying InternalContext for other parts of the internal design.
Common code for generic and non-generic string Include.
Returns a new query where the entities returned will not be cached in the
or . This method works by calling the AsNoTracking method of the
underlying query object. If the underlying query object does not have a AsNoTracking method,
then calling this method will have no affect.
The element type.
The source query.
A new query with NoTracking applied, or the source query if NoTracking is not supported.
Returns a new query where the entities returned will not be cached in the
or . This method works by calling the AsNoTracking method of the
underlying query object. If the underlying query object does not have a AsNoTracking method,
then calling this method will have no affect.
The source query.
A new query with NoTracking applied, or the source query if NoTracking is not supported.
Common code for generic and non-generic AsNoTracking.
Enumerates the query such that for server queries such as those of , ,
, and others the results of the query will be loaded into the associated ,
or other cache on the client.
This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list.
The source query.
Returns an implementation that stays in sync with the given .
The element type.
The collection that the binding list will stay in sync with.
The binding list.
A DbSet represents the collection of all entities in the context, or that can be queried from the
database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method.
Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a
one-to-one correlation between a type and a set.
The type that defines the set.
Represents a LINQ to Entities query against a DbContext.
The type of entity to query for.
An internal interface implemented by and that allows access to
the internal query without using reflection.
The underlying internal set.
Creates a new query that will be backed by the given internal query object.
The backing query.
Returns a new query where the entities returned will not be cached in the .
A new query with NoTracking applied.
Throws an exception indicating that binding directly to a store query is not supported.
Instead populate a DbSet with data, for example by using the Load extension method, and
then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to
DbSet.Local.ToBindingList().
Never returns; always throws.
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Returns a representation of the underlying query.
The query string.
Returns a new instance of the non-generic class for this query.
A non-generic version.
Returns false.
false.
The IQueryable element type.
The IQueryable LINQ Expression.
The IQueryable provider.
The internal query object that is backing this DbQuery
The internal query object that is backing this DbQuery
An IDbSet represents the collection of all entities in the context, or that can be queried from the
database, of a given type. DbSet is a concrete implementation of IDbSet.
The type that defines the set.
Finds an entity with the given primary key values.
If an entity with the given primary key values exists in the context, then it is
returned immediately without making a request to the store. Otherwise, a request
is made to the store for an entity with the given primary key values and this entity,
if found, is attached to the context and returned. If no entity is found in the
context or the store, then null is returned.
The ordering of composite key values is as defined in the EDM, which is in turn as defined in
the designer, by the Code First fluent API, or by the DataMember attribute.
The values of the primary key for the entity to be found.
The entity found, or null.
Adds the given entity to the context underlying the set in the Added state such that it will
be inserted into the database when SaveChanges is called.
The entity to add.
The entity.
Note that entities that are already in the context in some other state will have their state set
to Added. Add is a no-op if the entity is already in the context in the Added state.
Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges
is called. Note that the entity must exist in the context in some other state before this method
is called.
The entity to remove.
The entity.
Note that if the entity exists in the context in the Added state, then this method
will cause it to be detached from the context. This is because an Added entity is assumed not to
exist in the database such that trying to delete it does not make sense.
Attaches the given entity to the context underlying the set. That is, the entity is placed
into the context in the Unchanged state, just as if it had been read from the database.
The entity to attach.
The entity.
Attach is used to repopulate a context with an entity that is known to already exist in the database.
SaveChanges will therefore not attempt to insert an attached entity into the database because
it is assumed to already be there.
Note that entities that are already in the context in some other state will have their state set
to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state.
Creates a new instance of an entity for the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The entity instance, which may be a proxy.
Creates a new instance of an entity for the type of this set or for a type derived
from the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The type of entity to create.
The entity instance, which may be a proxy.
Gets an that represents a local view of all Added, Unchanged,
and Modified entities in this set. This local view will stay in sync as entities are added or
removed from the context. Likewise, entities added to or removed from the local view will automatically
be added to or removed from the context.
This property can be used for data binding by populating the set with data, for example by using the Load
extension method, and then binding to the local data through this property. For WPF bind to this property
directly. For Windows Forms bind to the result of calling ToBindingList on this property
The local view.
An internal interface implemented by and that allows access to
the internal set without using reflection.
The underlying internal set.
Creates a new set that will be backed by the given .
The internal set.
Finds an entity with the given primary key values.
If an entity with the given primary key values exists in the context, then it is
returned immediately without making a request to the store. Otherwise, a request
is made to the store for an entity with the given primary key values and this entity,
if found, is attached to the context and returned. If no entity is found in the
context or the store, then null is returned.
The ordering of composite key values is as defined in the EDM, which is in turn as defined in
the designer, by the Code First fluent API, or by the DataMember attribute.
The values of the primary key for the entity to be found.
The entity found, or null.
Thrown if multiple entities exist in the context with the primary key values given.
Thrown if the type of entity is not part of the data model for this context.
Thrown if the types of the key values do not match the types of the key values for the entity type to be found.
Thrown if the context has been disposed.
Attaches the given entity to the context underlying the set. That is, the entity is placed
into the context in the Unchanged state, just as if it had been read from the database.
The entity to attach.
The entity.
Attach is used to repopulate a context with an entity that is known to already exist in the database.
SaveChanges will therefore not attempt to insert an attached entity into the database because
it is assumed to already be there.
Note that entities that are already in the context in some other state will have their state set
to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state.
Adds the given entity to the context underlying the set in the Added state such that it will
be inserted into the database when SaveChanges is called.
The entity to add.
The entity.
Note that entities that are already in the context in some other state will have their state set
to Added. Add is a no-op if the entity is already in the context in the Added state.
Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges
is called. Note that the entity must exist in the context in some other state before this method
is called.
The entity to remove.
The entity.
Note that if the entity exists in the context in the Added state, then this method
will cause it to be detached from the context. This is because an Added entity is assumed not to
exist in the database such that trying to delete it does not make sense.
Creates a new instance of an entity for the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The entity instance, which may be a proxy.
Creates a new instance of an entity for the type of this set or for a type derived
from the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The type of entity to create.
The entity instance, which may be a proxy.
Returns the equivalent non-generic object.
The non-generic set object.
Creates a raw SQL query that will return entities in this set. By default, the
entities returned are tracked by the context; this can be changed by calling
AsNoTracking on the returned.
Note that the entities returned are always of the type for this set and never of
a derived type. If the table or tables queried may contain data for other entity
types, then the SQL query must be written appropriately to ensure that only entities of
the correct type are returned.
The SQL query string.
The parameters to apply to the SQL query string.
A object that will execute the query when it is enumerated.
Gets an that represents a local view of all Added, Unchanged,
and Modified entities in this set. This local view will stay in sync as entities are added or
removed from the context. Likewise, entities added to or removed from the local view will automatically
be added to or removed from the context.
This property can be used for data binding by populating the set with data, for example by using the Load
extension method, and then binding to the local data through this property. For WPF bind to this property
directly. For Windows Forms bind to the result of calling ToBindingList on this property
The local view.
The internal IQueryable that is backing this DbQuery
A non-generic version of which can be used when the type of entity
is not known at build time.
Represents a non-generic LINQ to Entities query against a DbContext.
Internal constructor prevents external classes deriving from DbQuery.
Throws an exception indicating that binding directly to a store query is not supported.
Instead populate a DbSet with data, for example by using the Load extension method, and
then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to
DbSet.Local.ToBindingList().
Never returns; always throws.
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Returns a new query where the entities returned will not be cached in the .
A new query with NoTracking applied.
Returns the equivalent generic object.
The type of element for which the query was created.
The generic set object.
Returns a representation of the underlying query.
The query string.
Returns false.
false.
The IQueryable element type.
The IQueryable LINQ Expression.
The IQueryable provider.
Gets the underlying internal query object.
The internal query.
The internal query object that is backing this DbQuery
Internal constructor prevents external classes deriving from DbSet.
Finds an entity with the given primary key values.
If an entity with the given primary key values exists in the context, then it is
returned immediately without making a request to the store. Otherwise, a request
is made to the store for an entity with the given primary key values and this entity,
if found, is attached to the context and returned. If no entity is found in the
context or the store, then null is returned.
The ordering of composite key values is as defined in the EDM, which is in turn as defined in
the designer, by the Code First fluent API, or by the DataMember attribute.
The values of the primary key for the entity to be found.
The entity found, or null.
Thrown if multiple entities exist in the context with the primary key values given.
Thrown if the type of entity is not part of the data model for this context.
Thrown if the types of the key values do not match the types of the key values for the entity type to be found.
Thrown if the context has been disposed.
Attaches the given entity to the context underlying the set. That is, the entity is placed
into the context in the Unchanged state, just as if it had been read from the database.
The entity to attach.
The entity.
Attach is used to repopulate a context with an entity that is known to already exist in the database.
SaveChanges will therefore not attempt to insert an attached entity into the database because
it is assumed to already be there.
Note that entities that are already in the context in some other state will have their state set
to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state.
Adds the given entity to the context underlying the set in the Added state such that it will
be inserted into the database when SaveChanges is called.
The entity to add.
The entity.
Note that entities that are already in the context in some other state will have their state set
to Added. Add is a no-op if the entity is already in the context in the Added state.
Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges
is called. Note that the entity must exist in the context in some other state before this method
is called.
The entity to remove.
The entity.
Note that if the entity exists in the context in the Added state, then this method
will cause it to be detached from the context. This is because an Added entity is assumed not to
exist in the database such that trying to delete it does not make sense.
Creates a new instance of an entity for the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The entity instance, which may be a proxy.
Creates a new instance of an entity for the type of this set or for a type derived
from the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The entity instance, which may be a proxy.
Returns the equivalent generic object.
The type of entity for which the set was created.
The generic set object.
Creates a raw SQL query that will return entities in this set. By default, the
entities returned are tracked by the context; this can be changed by calling
AsNoTracking on the returned.
Note that the entities returned are always of the type for this set and never of
a derived type. If the table or tables queried may contain data for other entity
types, then the SQL query must be written appropriately to ensure that only entities of
the correct type are returned.
The SQL query string.
The parameters to apply to the SQL query string.
A object that will execute the query when it is enumerated.
Gets an that represents a local view of all Added, Unchanged,
and Modified entities in this set. This local view will stay in sync as entities are added or
removed from the context. Likewise, entities added to or removed from the local view will automatically
be added to or removed from the context.
This property can be used for data binding by populating the set with data, for example by using the Load
extension method, and then binding to the local data through this property. For WPF bind to this property
directly. For Windows Forms bind to the result of calling ToBindingList on this property
The local view.
The internal IQueryable that is backing this DbQuery
Gets the underlying internal set.
The internal set.
Contains methods used to access the Entity Data Model created by Code First in the EDMX form.
These methods are typically used for debugging when there is a need to look at the model that
Code First creates internally.
Uses Code First with the given context and writes the resulting Entity Data Model to the given
writer in EDMX form. This method can only be used with context instances that use Code First
and create the model internally. The method cannot be used for contexts created using Database
First or Model First, for contexts created using a pre-existing , or
for contexts created using a pre-existing .
The context.
The writer.
Writes the Entity Data Model represented by the given to the
given writer in EDMX form.
An object representing the EDM.
The writer.
This attribute can be applied to a class derived from to set which
version of the DbContext and conventions should be used when building
a model from code--also know as "Code First". See the
enumeration for details about DbModelBuilder versions.
If the attribute is missing from DbContextthen DbContext will always use the latest
version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest.
Initializes a new instance of the class.
The conventions version to use.
Gets the conventions version.
The conventions version.
A value from this enumeration can be provided directly to the
class or can be used in the applied to
a class derived from . The value used defines which version of
the DbContext and DbModelBuilder conventions should be used when building a model from
code--also know as "Code First".
Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available
when upgrading to a new release of the Entity Framework. However, it may result in an
application behaving differently with the new release than it did with a previous release.
This can be avoided by using a specific version of the conventions, but if a version
other than the latest is set then not all the latest functionality will be available.
Indicates that the latest version of the and
conventions should be used.
Indicates that the version of the and
conventions shipped with Entity Framework v4.1
should be used.
Represents an Entity Data Model (EDM) created by the .
The Compile method can be used to go from this EDM representation to a
which is a compiled snapshot of the model suitable for caching and creation of
or instances.
Initializes a new instance of the class.
Creates a for this mode which is a compiled snapshot
suitable for caching and creation of instances.
The compiled model.
Implementations of this interface are used to create DbConnection objects for
a type of database server based on a given database name.
An Instance is set on the class to
cause all DbContexts created with no connection information or just a database
name or connection string to use a certain type of database server by default.
Two implementations of this interface are provided:
is used to create connections to Microsoft SQL Server, including EXPRESS editions.
is used to create connections to Microsoft SQL
Server Compact Editions.
Other implementations for other database servers can be added as needed.
Note that implementations should be thread safe or immutable since they may
be accessed by multiple threads at the same time.
Creates a connection based on the given database name or connection string.
The database name or connection string.
An initialized DbConnection.
Represents a SQL query for entities that is created from a
and is executed using the connection from that context.
Instances of this class are obtained from the instance for the
entity type. The query is not executed when this object is created; it is executed
each time it is enumerated, for example by using foreach.
SQL queries for non-entities are created using the .
See for a generic version of this class.
Initializes a new instance of the class.
The internal query.
Executes the query and returns an enumerator for the elements.
An object that can be used to iterate through the elements.
Returns a new query where the results of the query will not be tracked by the associated
.
A new query with no-tracking applied.
Returns a that contains the SQL string that was set
when the query was created. The parameters are not included.
A that represents this instance.
Throws an exception indicating that binding directly to a store query is not supported.
Never returns; always throws.
Gets the internal query.
The internal query.
Returns false.
false.
Represents a SQL query for entities that is created from a
and is executed using the connection from that context.
Instances of this class are obtained from the instance for the
entity type. The query is not executed when this object is created; it is executed
each time it is enumerated, for example by using foreach.
SQL queries for non-entities are created using the .
See for a non-generic version of this class.
Executes the query and returns an enumerator for the elements.
An object that can be used to iterate through the elements.
Executes the query and returns an enumerator for the elements.
An object that can be used to iterate through the elements.
Returns a new query where the results of the query will not be tracked by the associated
.
A new query with no-tracking applied.
Returns a that contains the SQL string that was set
when the query was created. The parameters are not included.
A that represents this instance.
Throws an exception indicating that binding directly to a store query is not supported.
Never returns; always throws.
Gets the internal query.
The internal query.
Returns false.
false.
This convention causes DbModelBuilder to include metadata about the model
when it builds the model. When creates a model by convention it will
add this convention to the list of those used by the DbModelBuilder. This will then result in
model metadata being written to the database if the DbContext is used to create the database.
This can then be used as a quick check to see if the model has changed since the last time it was
used against the database.
This convention can be removed from the conventions by overriding
the OnModelCreating method on a derived DbContext class.
Adds metadata to the given model configuration.
The model configuration.
Instances of this class are used to create DbConnection objects for
SQL Server Compact Edition based on a given database name or connection string.
It is necessary to provide the provider invariant name of the SQL Server Compact
Edition to use when creating an instance of this class. This is because different
versions of SQL Server Compact Editions use different invariant names.
An instance of this class can be set on the class to
cause all DbContexts created with no connection information or just a database
name or connection string to use SQL Server Compact Edition by default.
This class is immutable since multiple threads may access instances simultaneously
when creating connections.
Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString
properties.
The provider invariant name that specifies the version of SQL Server Compact Edition that should be used.
Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties.
The provider invariant name that specifies the version of SQL Server Compact Edition that should be used.
The path to prepend to the database name that will form the file name used by SQL Server Compact Edition
when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use
its default for the database file location.
The connection string to use for options to the database other than the 'Data Source'. The Data Source will
be prepended to this string based on the database name when CreateConnection is called.
Creates a connection for SQL Server Compact Edition based on the given database name or connection string.
If the given string contains an '=' character then it is treated as a full connection string,
otherwise it is treated as a database name only.
The database name or connection string.
An initialized DbConnection.
The path to prepend to the database name that will form the file name used by
SQL Server Compact Edition when it creates or reads the database file.
The default value is "|DataDirectory|", which means the file will be placed
in the designated data directory.
The connection string to use for options to the database other than the 'Data Source'.
The Data Source will be prepended to this string based on the database name when
CreateConnection is called.
The default is the empty string, which means no other options will be used.
The provider invariant name that specifies the version of SQL Server Compact Edition
that should be used.
Instances of this class are used to create DbConnection objects for
SQL Server based on a given database name or connection string. By default, the connection is
made to '.\SQLEXPRESS'. This can be changed by changing the base connection
string when constructing a factory instance.
An instance of this class can be set on the class to
cause all DbContexts created with no connection information or just a database
name or connection string to use SQL Server by default.
This class is immutable since multiple threads may access instances simultaneously
when creating connections.
Creates a new connection factory with a default BaseConnectionString property of
'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'.
Creates a new connection factory with the given BaseConnectionString property.
The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will
be prepended to this string based on the database name when CreateConnection is called.
Creates a connection for SQL Server based on the given database name or connection string.
If the given string contains an '=' character then it is treated as a full connection string,
otherwise it is treated as a database name only.
The database name or connection string.
An initialized DbConnection.
The connection string to use for options to the database other than the 'Initial Catalog'.
The 'Initial Catalog' will be prepended to this string based on the database name when
CreateConnection is called.
The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'.
A non-generic version of the class.
A non-generic version of the class.
This is an abstract base class use to represent a scalar or complex property, or a navigation property
of an entity. Scalar and complex properties use the derived class ,
reference navigation properties use the derived class , and collection
navigation properties use the derived class .
Creates a from information in the given .
This method will create an instance of the appropriate subclass depending on the metadata contained
in the InternalMemberEntry instance.
The internal member entry.
The new entry.
Validates this property.
Collection of objects. Never null. If the entity is valid the collection will be empty.
Returns the equivalent generic object.
The type of entity on which the member is declared.
The type of the property.
The equivalent generic object.
Gets the name of the property.
The property name.
Gets or sets the current value of this property.
The current value.
The to which this member belongs.
An entry for the entity that owns this member.
Gets the backing this object.
The internal member entry.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal property entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Returns the equivalent generic object.
The type of entity on which the member is declared.
The type of the property.
The equivalent generic object.
Gets the property name.
The property name.
Gets or sets the original value of this property.
The original value.
Gets or sets the current value of this property.
The current value.
Gets or sets a value indicating whether the value of this property has been modified since
it was loaded from the database.
true if this instance is modified; otherwise, false.
The to which this property belongs.
An entry for the entity that owns this property.
The of the property for which this is a nested property.
This method will only return a non-null entry for properties of complex objects; it will
return null for properties of the entity itself.
An entry for the parent complex property, or null if this is an entity property.
Gets the backing this object.
The internal member entry.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal property entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Gets an object that represents a nested property of this property.
This method can be used for both scalar or complex properties.
The name of the nested property.
An object representing the nested property.
Gets an object that represents a nested complex property of this property.
The name of the nested property.
An object representing the nested property.
Returns the equivalent generic object.
The type of entity on which the member is declared.
The type of the complex property.
The equivalent generic object.
Instances of this class are returned from the ComplexProperty method of
and allow access to the state of a complex property.
The type of the entity to which this property belongs.
The type of the property.
Instances of this class are returned from the Property method of
and allow access to the state of the scalar
or complex property.
The type of the entity to which this property belongs.
The type of the property.
This is an abstract base class use to represent a scalar or complex property, or a navigation property
of an entity. Scalar and complex properties use the derived class ,
reference navigation properties use the derived class , and collection
navigation properties use the derived class .
The type of the entity to which this property belongs.
The type of the property.
Creates a from information in the given .
This method will create an instance of the appropriate subclass depending on the metadata contained
in the InternalMemberEntry instance.
The internal member entry.
The new entry.
Returns a new instance of the non-generic class for
the property represented by this object.
A non-generic version.
Validates this property.
Collection of objects. Never null. If the entity is valid the collection will be empty.
Gets or sets the current value of this property.
The current value.
Gets the underlying .
The internal member entry.
The to which this member belongs.
An entry for the entity that owns this member.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal property entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Returns a new instance of the non-generic class for
the property represented by this object.
A non-generic version.
Gets the property name.
The property name.
Gets or sets the original value of this property.
The original value.
Gets or sets the current value of this property.
The current value.
Gets or sets a value indicating whether the value of this property has been modified since
it was loaded from the database.
true if this instance is modified; otherwise, false.
The to which this property belongs.
An entry for the entity that owns this property.
The of the property for which this is a nested property.
This method will only return a non-null entry for properties of complex objects; it will
return null for properties of the entity itself.
An entry for the parent complex property, or null if this is an entity property.
Gets the underlying as an .
The internal member entry.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal property entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Returns a new instance of the non-generic class for
the property represented by this object.
A non-generic version.
Gets an object that represents a nested property of this property.
This method can be used for both scalar or complex properties.
The name of the nested property.
An object representing the nested property.
Gets an object that represents a nested property of this property.
This method can be used for both scalar or complex properties.
The type of the nested property.
The name of the nested property.
An object representing the nested property.
Gets an object that represents a nested property of this property.
This method can be used for both scalar or complex properties.
The type of the nested property.
An expression representing the nested property.
An object representing the nested property.
Gets an object that represents a nested complex property of this property.
The name of the nested property.
An object representing the nested property.
Gets an object that represents a nested complex property of this property.
The type of the nested property.
The name of the nested property.
An object representing the nested property.
Gets an object that represents a nested complex property of this property.
The type of the nested property.
An expression representing the nested property.
An object representing the nested property.
Returned by the ChangeTracker method of to provide access to features of
the context that are related to change tracking of entities.
Initializes a new instance of the class.
The internal context.
Gets objects for all the entities tracked by this context.
The entries.
Gets objects for all the entities of the given type
tracked by this context.
The type of the entity.
The entries.
Detects changes made to the properties and relationships of POCO entities. Note that some types of
entity (such as change tracking proxies and entities that derive from )
report changes automatically and a call to DetectChanges is not normally needed for these types of entities.
Also note that normally DetectChanges is called automatically by many of the methods of
and its related classes such that it is rare that this method will need to be called explicitly.
However, it may be desirable, usually for performance reasons, to turn off this automatic calling of
DetectChanges using the AutoDetectChangesEnabled flag from .
A non-generic version of the class.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal collection entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Loads the collection of entities from the database.
Note that entities that already exist in the context are not overwritten with values from the database.
Returns the query that would be used to load this collection from the database.
The returned query can be modified using LINQ to perform filtering or operations in the database, such
as counting the number of entities in the collection in the database without actually loading them.
A query for the collection.
Returns the equivalent generic object.
The type of entity on which the member is declared.
The type of the collection element.
The equivalent generic object.
Gets the property name.
The property name.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references.
The current value.
Gets a value indicating whether the collection of entities has been loaded from the database.
true if the collection is loaded; otherwise, false.
The to which this navigation property belongs.
An entry for the entity that owns this navigation property.
Gets the backing this object as an .
The internal member entry.
Instances of this class are returned from the Collection method of
and allow operations such as loading to
be performed on the an entity's collection navigation properties.
The type of the entity to which this property belongs.
The type of the element in the collection of entities.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal collection entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Loads the collection of entities from the database.
Note that entities that already exist in the context are not overwritten with values from the database.
Returns the query that would be used to load this collection from the database.
The returned query can be modified using LINQ to perform filtering or operations in the database, such
as counting the number of entities in the collection in the database without actually loading them.
A query for the collection.
Returns a new instance of the non-generic class for
the navigation property represented by this object.
A non-generic version.
Gets the property name.
The property name.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references.
The current value.
Gets a value indicating whether the collection of entities has been loaded from the database.
true if the collection is loaded; otherwise, false.
Gets the underlying as an .
The internal member entry.
The to which this navigation property belongs.
An entry for the entity that owns this navigation property.
Exception thrown by when it was expected that SaveChanges for an entity would
result in a database update but in fact no rows in the database were affected. This usually indicates
that the database has been concurrently updated such that a concurrency token that was expected to match
did not actually match.
Note that state entries referenced by this exception are not serialized due to security and accesses to
the state entries after serialization will return null.
Initializes a new instance of the class.
The internal context.
The inner exception.
Initializes a new instance of the class.
Initializes a new instance of the class.
The message.
Initializes a new instance of the class.
The message.
The inner exception.
Subscribes the SerializeObjectState event.
Gets objects that represents the entities that could not
be saved to the database.
The entries representing the entities that could not be saved.
Holds exception state that will be serialized when the exception is serialized.
Completes the deserialization.
The deserialized object.
Gets or sets a value indicating whether the exception involved independent associations.
Initializes a new instance of the class.
The context.
The inner exception.
Initializes a new instance of the class.
Initializes a new instance of the class.
The message.
Initializes a new instance of the class.
The message.
The inner exception.
Returned by the Configuration method of to provide access to configuration
options for the context.
Initializes a new instance of the class.
The internal context.
Gets or sets a value indicating whether lazy loading of relationships exposed as
navigation properties is enabled. Lazy loading is enabled by default.
true if lazy loading is enabled; otherwise, false.
Gets or sets a value indicating whether or not the framework will create instances of
dynamically generated proxy classes whenever it creates an instance of an entity type.
Note that even if proxy creation is enabled with this flag, proxy instances will only
be created for entity types that meet the requirements for being proxied.
Proxy creation is enabled by default.
true if proxy creation is enabled; otherwise, false.
Gets or sets a value indicating whether tracked entities should be validated automatically when
is invoked.
The default value is true.
A non-generic version of the class.
Initializes a new instance of the class.
The internal entry.
Queries the database for copies of the values of the tracked entity as they currently exist in the database.
Note that changing the values in the returned dictionary will not update the values in the database.
If the entity is not found in the database then null is returned.
The store values.
Reloads the entity from the database overwriting any property values with values from the database.
The entity will be in the Unchanged state after calling this method.
Gets an object that represents the reference (i.e. non-collection) navigation property from this
entity to another entity.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents the collection navigation property from this
entity to a collection of related entities.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents a scalar or complex property of this entity.
The name of the property.
An object representing the property.
Gets an object that represents a complex property of this entity.
The name of the complex property.
An object representing the complex property.
Gets an object that represents a member of the entity. The runtime type of the returned object will
vary depending on what kind of member is asked for. The currently supported member types and their return
types are:
Reference navigation property: .
Collection navigation property: .
Primitive/scalar property: .
Complex property: .
The name of the member.
An object representing the member.
Returns a new instance of the generic class for the given
generic type for the tracked entity represented by this object.
Note that the type of the tracked entity must be compatible with the generic type or
an exception will be thrown.
The type of the entity.
A generic version.
Validates this instance and returns validation result.
Entity validation result. Possibly null if
method is overridden.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Gets the entity.
The entity.
Gets or sets the state of the entity.
The state.
Gets the current property values for the tracked entity represented by this object.
The current values.
Gets the original property values for the tracked entity represented by this object.
The original values are usually the entity's property values as they were when last queried from
the database.
The original values.
Gets InternalEntityEntry object for this DbEntityEntry instance.
Instances of this class provide access to information about and control of entities that
are being tracked by the . Use the Entity or Entities methods of
the context to obtain objects of this type.
The type of the entity.
Initializes a new instance of the class.
The internal entry.
Queries the database for copies of the values of the tracked entity as they currently exist in the database.
Note that changing the values in the returned dictionary will not update the values in the database.
If the entity is not found in the database then null is returned.
The store values.
Reloads the entity from the database overwriting any property values with values from the database.
The entity will be in the Unchanged state after calling this method.
Gets an object that represents the reference (i.e. non-collection) navigation property from this
entity to another entity.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents the reference (i.e. non-collection) navigation property from this
entity to another entity.
The type of the property.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents the reference (i.e. non-collection) navigation property from this
entity to another entity.
The type of the property.
An expression representing the navigation property.
An object representing the navigation property.
Gets an object that represents the collection navigation property from this
entity to a collection of related entities.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents the collection navigation property from this
entity to a collection of related entities.
The type of elements in the collection.
The name of the navigation property.
An object representing the navigation property.
Gets an object that represents the collection navigation property from this
entity to a collection of related entities.
The type of elements in the collection.
An expression representing the navigation property.
An object representing the navigation property.
Gets an object that represents a scalar or complex property of this entity.
The name of the property.
An object representing the property.
Gets an object that represents a scalar or complex property of this entity.
The type of the property.
The name of the property.
An object representing the property.
Gets an object that represents a scalar or complex property of this entity.
The type of the property.
An expression representing the property.
An object representing the property.
Gets an object that represents a complex property of this entity.
The name of the complex property.
An object representing the complex property.
Gets an object that represents a complex property of this entity.
The type of the complex property.
The name of the complex property.
An object representing the complex property.
Gets an object that represents a complex property of this entity.
The type of the complex property.
An expression representing the complex property.
An object representing the complex property.
Gets an object that represents a member of the entity. The runtime type of the returned object will
vary depending on what kind of member is asked for. The currently supported member types and their return
types are:
Reference navigation property: .
Collection navigation property: .
Primitive/scalar property: .
Complex property: .
The name of the member.
An object representing the member.
Gets an object that represents a member of the entity. The runtime type of the returned object will
vary depending on what kind of member is asked for. The currently supported member types and their return
types are:
Reference navigation property: .
Collection navigation property: .
Primitive/scalar property: .
Complex property: .
The type of the member.
The name of the member.
An object representing the member.
Returns a new instance of the non-generic class for
the tracked entity represented by this object.
A non-generic version.
Validates this instance and returns validation result.
Entity validation result. Possibly null if
method is overridden.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Gets the entity.
The entity.
Gets or sets the state of the entity.
The state.
Gets the current property values for the tracked entity represented by this object.
The current values.
Gets the original property values for the tracked entity represented by this object.
The original values are usually the entity's property values as they were when last queried from
the database.
The original values.
An immutable representation of an Entity Data Model (EDM) model that can be used to create an
or can be passed to the constructor of a .
For increased performance, instances of this type should be cached and re-used to construct contexts.
Creates a model for the given EDM metadata model.
The EDM metadata model.
Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance
of DbContext can be created instead by using the appropriate DbContext constructor.
If a derived ObjectContext is used, then it must have a public constructor with a single
EntityConnection parameter.
The connection passed is used by the ObjectContext created, but is not owned by the context. The caller
must dispose of the connection once the context has been disposed.
The type of context to create.
An existing connection to a database for use by the context.
Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type.
A hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Note that this is currently only supported for Code First.
A collection of all the properties for an underlying entity or complex object.
An instance of this class can be converted to an instance of the generic class
using the Cast method.
Complex properties in the underlying entity or complex object are represented in
the property values as nested instances of this class.
Initializes a new instance of the class.
The internal dictionary.
Creates an object of the underlying type for this dictionary and hydrates it with property
values from this dictionary.
The properties of this dictionary copied into a new object.
Sets the values of this dictionary by reading values out of the given object.
The given object can be of any type. Any property on the object with a name that
matches a property name in the dictionary and can be read will be read. Other
properties will be ignored. This allows, for example, copying of properties from
simple Data Transfer Objects (DTOs).
The object to read values from.
Creates a new dictionary containing copies of all the properties in this dictionary.
Changes made to the new dictionary will not be reflected in this dictionary and vice versa.
A clone of this dictionary.
Sets the values of this dictionary by reading values from another dictionary.
The other dictionary must be based on the same type as this dictionary, or a type derived
from the type for this dictionary.
The dictionary to read values from.
Gets the value of the property just like using the indexed property getter but
typed to the type of the generic parameter. This is useful especially with
nested dictionaries to avoid writing expressions with lots of casts.
The type of the property.
Name of the property.
The value of the property.
Gets the set of names of all properties in this dictionary as a read-only set.
The property names.
Gets or sets the value of the property with the specified property name.
The value may be a nested instance of this class.
The property name.
The value of the property.
Gets the internal dictionary.
The internal dictionary.
A non-generic version of the class.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal reference entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Loads the entity from the database.
Note that if the entity already exists in the context, then it will not overwritten with values from the database.
Returns the query that would be used to load this entity from the database.
The returned query can be modified using LINQ to perform filtering or operations in the database.
A query for the entity.
Returns the equivalent generic object.
The type of entity on which the member is declared.
The type of the property.
The equivalent generic object.
Gets the property name.
The property name.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references.
The current value.
Gets a value indicating whether the entity has been loaded from the database.
true if the entity is loaded; otherwise, false.
The to which this navigation property belongs.
An entry for the entity that owns this navigation property.
Gets the backing this object as an .
The internal member entry.
Instances of this class are returned from the Reference method of
and allow operations such as loading to
be performed on the an entity's reference navigation properties.
The type of the entity to which this property belongs.
The type of the property.
Creates a from information in the given .
Use this method in preference to the constructor since it may potentially create a subclass depending on
the type of member represented by the InternalCollectionEntry instance.
The internal reference entry.
The new entry.
Initializes a new instance of the class.
The internal entry.
Loads the entity from the database.
Note that if the entity already exists in the context, then it will not overwritten with values from the database.
Returns the query that would be used to load this entity from the database.
The returned query can be modified using LINQ to perform filtering or operations in the database.
A query for the entity.
Returns a new instance of the non-generic class for
the navigation property represented by this object.
A non-generic version.
Gets the property name.
The property name.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references.
The current value.
Gets a value indicating whether the entity has been loaded from the database.
true if the entity is loaded; otherwise, false.
Gets the underlying as an .
The internal member entry.
The to which this navigation property belongs.
An entry for the entity that owns this navigation property.
Represents an entity used to store metadata about an EDM in the database.
Attempts to get the model hash calculated by Code First for the given context.
This method will return null if the context is not being used in Code First mode.
The context.
The hash string.
Gets or sets the ID of the metadata entity, which is currently always 1.
The id.
Gets or sets the model hash which is used to check whether the model has
changed since the database was created from it.
The model hash.
This attribute can be applied to either an entire derived class or to
individual or properties on that class. When applied
any discovered or properties will still be included
in the model but will not be automatically initialized.
Generic wrapper around to allow results to be
returned as generic
The type of the element.
Executes the query and returns an enumerator for the elements.
An object that can be used to iterate through the elements.
Executes the query and returns an enumerator for the elements.
An object that can be used to iterate through the elements.
Returns a that contains the SQL string that was set
when the query was created. The parameters are not included.
A that represents this instance.
Throws an exception indicating that binding directly to a store query is not supported.
Never returns; always throws.
Returns false.
false.
Implements ICachedMetadataWorkspace for a Code First model.
Represents an object that holds a cached copy of a MetadataWorkspace and optionally the
assemblies containing entity types to use with that workspace.
Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist.
If the workspace is not compatible with the provider manifest obtained from the given
connection then an exception is thrown.
The connection to use to create or check SSDL provider info.
The workspace.
The list of assemblies that contain entity types for this workspace, which may be empty, but
will never be null.
An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Note that this is currently only supported for Code First.
The default container name for code first is the container name that is set from the DbModelBuilder
Builds and stores the workspace based on the given code first configuration.
The code first EDM model.
Gets the .
If the workspace is not compatible with the provider manifest obtained from the given
connection then an exception is thrown.
The connection to use to create or check SSDL provider info.
The workspace.
The default container name for code first is the container name that is set from the DbModelBuilder
The list of assemblies that contain entity types for this workspace, which may be empty, but
will never be null.
An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Encapsulates information read from the application config file that specifies a database initializer
and allows that initializer to be dynamically applied.
Initializes a new instance of the class.
The key from the entry in the config file.
The value from the enrty in the config file.
Uses the context type and initializer type specified in the config to create an initializer instance
and set it with the DbDbatabase.SetInitializer method.
Reads all initializers from the application config file and sets them using the Database class.
The methods here are called from multiple places with an ObjectContext that may have
been created in a variety of ways and ensure that the same code is run regardless of
how the context was created.
Used a delegate to do the actual creation once an ObjectContext has been obtained.
This is factored in this way so that we do the same thing regardless of how we get to
having an ObjectContext.
Note however that a context obtained from only a connection will have no model and so
will result in an empty database.
Used a delegate to do the actual checking/creation once an ObjectContext has been obtained.
This is factored in this way so that we do the same thing regardless of how we get to
having an ObjectContext.
Note however that a context obtained from only a connection will have no model and so
will result in an empty database.
Used a delegate to do the actual existence check once an ObjectContext has been obtained.
This is factored in this way so that we do the same thing regardless of how we get to
having an ObjectContext.
Used a delegate to do the actual check/delete once an ObjectContext has been obtained.
This is factored in this way so that we do the same thing regardless of how we get to
having an ObjectContext.
Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names.
Creates a new pair of the given set of entity types and DbSet initializer delegate.
The entity types part of the pair.
The DbSet properties initializer part of the pair.
Static helper methods only.
Checks whether the given value is null and throws ArgumentNullException if it is.
This method should only be used in places where Code Contracts are compiled out in the
release build but we still need public surface null-checking, such as where a public
abstract class is implemented by an internal concrete class.
Checks whether the given string is null, empty, or just whitespace, and throws appropriately
if the check fails.
This method should only be used in places where Code Contracts are compiled out in the
release build but we still need public surface checking, such as where a public
abstract class is implemented by an internal concrete class.
Given two key values that may or may not be byte arrays, this method determines
whether or not they are equal. For non-binary key values, this is equivalent
to Object.Equals. For binary keys, it is by comparison of every byte in the
arrays.
Provides a standard helper method for quoting identifiers
Identifier to be quoted. Does not validate that this identifier is valid.
Quoted string
Checks the given string which might be a database name or a connection string and determines
whether it should be treated as a name or connection string. Currently, the test is simply
whether or not the string contains an '=' character--if it does, then it should be treated
as a connection string.
The name or connection string.
true if the string should be treated as a connection string; false if it should be treated as a name.
Determines whether the given string should be treated as a database name directly (it contains no '='),
is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then
the name is extracted and the method returns true.
The name or connection string.
The name.
True if a name is found; false otherwise.
Determines whether the given string is a full EF connection string with provider, provider connection string,
and metadata parts, or is is instead some other form of connection string.
The name or connection string.
true if the given string is an EF connection string; otherwise, false.
Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference,
etc methods on and
classes.
The type of the entity.
The type of the property.
The property.
Name of the method.
Name of the param.
The property name.
Called recursively to parse an expression tree representing a property path such
as can be passed to Include or the Reference/Collection/Property methods of .
This involves parsing simple property accesses like o => o.Products as well as calls to Select like
o => o.Products.Select(p => p.OrderLines).
The expression to parse.
The expression parsed into an include path, or null if the expression did not match.
True if matching succeeded; false if the expression could not be parsed.
Gets a cached dictionary mapping property names to property types for all the properties
in the given type.
Gets a dictionary of compiled property setter delegates for the underlying types.
The dictionary is cached for the type in the app domain.
Used by the property setter delegates to throw for attempts to set null onto
non-nullable properties or otherwise go ahead and set the property.
Gets a dictionary of compiled property getter delegates for the underlying types.
The dictionary is cached for the type in the app domain.
Creates a new with the NoTracking merge option applied.
The query object passed in is not changed.
The query.
A new query with NoTracking applied.
Converts to
Name of the property being validated with ValidationAttributes. Null for type-level validation.
ValidationResults instances to be converted to instances.
An created based on the
.
class contains a property with names of properties the error applies to.
On the other hand each applies at most to a single property. As a result for
each name in ValidationResult.MemberNames one will be created (with some
exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames).
Calculates a "path" to a property. For primitive properties on an entity type it is just the
name of the property. Otherwise it is a dot separated list of names of the property and all
its ancestor properties starting from the entity.
Property for which to calculate the path.
Dot separated path to the property.
Gets names of the property and its ancestor properties as enumerable walking "bottom-up".
Property for which to get the segments.
Names of the property and its ancestor properties.
Gets an type for the given element type.
Type of the element.
The collection type.
Creates a database name given a type derived from DbContext. This handles nested and
generic classes. No attempt is made to ensure that the name is not too long since this
is provider specific. If a too long name is generated then the provider will throw and
the user must correct by specifying their own name in the DbContext constructor.
Type of the context.
The database name to use.
Creates a clone of the given that has the same connection and
loaded metadata as the original but a new, empty, state manager.
The original.
The clone.
Finds the assemblies that were used for loading o-space types in the source context
and loads those assemblies in the destination context.
The source.
The destination.
A local (in-memory) view of the entities in a DbSet.
This view contains Added entities and does not contain Deleted entities. The view extends
from and hooks up events between the collection and the
state manager to keep the view in sync.
The type of the entity.
Initializes a new instance of the class for entities
of the given generic type in the given internal context.
The internal context.
Called by the base class when the collection changes.
This method looks at the change made to the collection and reflects those changes in the
state manager.
The instance containing the event data.
Handles events from the state manager for entities entering, leaving, or being marked as deleted.
The local view is kept in sync with these changes.
The sender.
The instance containing the event data.
Clears the items by calling remove on each item such that we get Remove events that
can be tracked back to the state manager, rather than a single Reset event that we
cannot deal with.
Adds a contains check to the base implementation of InsertItem since we can't support
duplicate entities in the set.
The index at which to insert.
The item to insert.
Returns a cached binding list implementation backed by this ObservableCollection.
The binding list.
Service used to search for instance properties on a DbContext class that can
be assigned a DbSet instance. Also, if the the property has a public setter,
then a delegate is compiled to set the property to a new instance of DbSet.
All of this information is cached per app domain.
Creates a set discovery service for the given derived context.
Processes the given context type to determine the DbSet or IDbSet
properties and collect root entity types from those properties. Also, delegates are
created to initialize any of these properties that have public setters.
If the type has been processed previously in the app domain, then all this information
is returned from a cache.
A dictionary of potential entity type to the list of the names of the properties that used the type.
Calls the public setter on any property found to initialize it to a new instance of DbSet.
Registers the entities and their entity set name hints with the given .
The model builder.
Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise
returns true.
Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type.
The type to check.
The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned.
A EagerInternalConnection object wraps an already existing DbConnection object.
InternalConnection objects manage DbConnections.
Two concrete base classes of this abstract interface exist:
and .
IInternalConnection objects manage DbConnections.
Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection.
Creates an from metadata in the connection. This method must
only be called if ConnectionHasModel returns true.
The newly created context.
Returns the underlying DbConnection.
Returns a key consisting of the connection type and connection string.
If this is an EntityConnection then the metadata path is included in the key returned.
Gets a value indicating whether the connection is an EF connection which therefore contains
metadata specifying the model, or instead is a store connection, in which case it contains no
model info.
true if the connection contains model info; otherwise, false.
Creates an from metadata in the connection. This method must
only be called if ConnectionHasModel returns true.
The newly created context.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Returns the underlying DbConnection.
Returns a key consisting of the connection type and connection string.
If this is an EntityConnection then the metadata path is included in the key returned.
Gets a value indicating whether the connection is an EF connection which therefore contains
metadata specifying the model, or instead is a store connection, in which case it contains no
model info.
true if the connection contains model info; otherwise, false.
Gets or sets the underlying object. No initialization is done when the
connection is obtained, and it can also be set to null.
The underlying connection.
Creates a new EagerInternalConnection that wraps an existing DbConnection. The existing DbConnection will not
be disposed when the EagerInternalConnection is disposed.
An existing connection.
If set to true then the underlying connection should be disposed when this object is disposed.
Dispose the existing connection is the original caller has specified that it should be disposed
by the framework.
An is an where the
instance that it wraps is set immediately at construction time rather than being created lazily. In this case
the internal context may or may not own the instance but will only dispose it
if it does own it.
An underlies every instance of and wraps an
instance.
The also acts to expose necessary information to other parts of the design in a
controlled manner without adding a lot of internal methods and properties to the
class itself.
Two concrete classes derive from this abstract class - and
.
Initializes the object with its owner.
The owner .
Returns the underlying without causing the underlying database to be created
or the database initialization strategy to be executed.
This is used to get a context that can then be used for database creation/initialization.
Creates a new temporary based on the same metadata and connection as the real
and sets it as the context to use DisposeTempObjectContext is called.
This allows this internal context and its DbContext to be used for transient operations
such as initializing and seeding the database, after which it can be thrown away.
This isolates the real from any changes made and and saves performed.
If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context
and returns this internal context and its DbContext to using the real ObjectContext.
This method returns true if the context has a model hash and the database contains a model hash
and these hashes match. This indicates that the model used to create the database is the same
as the current model and so the two can be used together.
If set to true then an exception will be thrown if no
model metadata is found either in the model associated with the context or in the database
itself. If set to false then this method will return true if metadata is
not found.
True if the model hash in the context and the database match; false otherwise.
Queries the database for a model hash and returns it if found or returns null if the table
or the row doesn't exist in the database.
The model hash, or null if not found.
Saves the model hash from the context to the database.
Performs the initialization action that may result in a and
handle the exception to provide more meaning to the user.
The action.
Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager.
This is a virtual method on this class so that it can be mocked.
The event handler.
Checks whether or not the given object is in the context in any state other than Deleted.
This is a virtual method on this class so that it can be mocked.
The entity.
true if the entity is in the context and not deleted; otherwise false.
Saves all changes made in this context to the underlying database.
The number of objects written to the underlying database.
Runs the Code First pipeline to create a that can then be used to create
an EDMX. This method throws if the context:
was created based on an existing
or was created from information in an existing
or is being used in Model/Database First mode.
This method always runs the full Code First pipeline, including calling OnModelCreating, even if
the pipeline has already been run.
The builder.
Initializes this instance, which means both the context is initialized and the underlying
database is initialized.
Initializes the underlying ObjectContext but does not cause the database to be initialized.
Runs the unless it has already been run or there
is no initializer for this context type in which case this method does nothing.
Marks the database as having been initialized without actually running the .
Runs the if one has been set for this context type.
Calling this method will always cause the initializer to run even if the database is marked
as initialized.
Disposes the context. Override the DisposeContext method to perform
additional work when disposing.
Performs additional work to dispose a context. The default implementation
does nothing.
Calls DetectChanges on the underlying if AutoDetectChangesEnabled is
true or if force is set to true.
if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled.
Returns the DbSet instance for the given entity type.
This property is virtual and returns to that it can be mocked.
The entity type for which a set should be returned.
A set for the given entity type.
Returns the non-generic instance for the given entity type.
This property is virtual and returns to that it can be mocked.
The entity type for which a set should be returned.
A set for the given entity type.
Creates an internal set using an app domain cached delegate.
Type of the entity.
The set.
Returns the entity set and the base type for that entity set for the given type.
This method does o-space loading if required and throws if the type is not in the model.
The entity type to lookup.
The entity set and base type pair.
Checks whether or not the given entity type is mapped in the model.
The entity type to lookup.
True if the type is mapped as an entity; false otherwise.
Gets the local entities of the type specified from the state manager. That is, all
Added, Modified, and Unchanged entities of the given type.
The type of entity to get.
The entities.
Executes the given SQL query against the database backing this context. The results are not materialized as
entities or tracked.
The type of the element.
The SQL.
The parameters.
The query results.
Executes the given SQL query against the database backing this context. The results are not materialized as
entities or tracked.
Type of the element.
The SQL.
The parameters.
The query results.
Calls the generic ExecuteSqlQuery but with a non-generic return type so that it
has the correct signature to be used with CreateDelegate above.
Executes the given SQL command against the database backing this context.
The SQL.
The parameters.
The return value from the database.
Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context.
This method is virtual so that it can be mocked.
The entity.
The state entry or null.
Gets the underlying objects for all entities tracked by
this context.
This method is virtual so that it can be mocked.
State entries for all tracked entities.
Gets the underlying objects for all entities of the given
type tracked by this context.
This method is virtual so that it can be mocked.
The type of the entity.
State entries for all tracked entities of the given type.
Helper method that gets the underlying objects for all entities that
match the given predicate.
Wraps the given in either a or
a depending on the actual exception type and the state
entries involved.
The update exception.
A new exception wrapping the given exception.
Uses the underlying context to create an entity such that if the context is configured
to create proxies and the entity is suitable then a proxy instance will be returned.
This method is virtual so that it can be mocked.
The type of the entity.
The new entity instance.
Uses the underlying context to create an entity such that if the context is configured
to create proxies and the entity is suitable then a proxy instance will be returned.
This method is virtual so that it can be mocked.
The type of entity to create.
The new entity instance.
This method is used by CreateDelegate to transform the CreateObject method with return type TEntity
into a method with return type object which matches the required type of the delegate.
Throws if the context has been disposed.
Checks whether or not the internal cache of types to entity sets has been initialized,
and initializes it if necessary.
Performs o-space loading for the type and returns false if the type is not in the model.
Performs o-space loading for the type and throws if the type is not in the model.
Type of the entity.
Returns true if the given entity type does not have EdmEntityTypeAttribute but is in
an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the
same assembly, which is something that we don't support.
Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened.
Updates the cache of types to entity sets either for the first time or after potentially
doing some o-space loading.
The public context instance that owns this internal context.
Returns the underlying .
Gets the temp object context, or null if none has been set.
The temp object context.
An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Note that this is currently only supported for Code First.
Gets the default database initializer to use for this context if no other has been registered.
For code first this property returns a instance.
For database/model first, this property returns null.
The default initializer.
Gets or sets a value indicating whether lazy loading is enabled.
Gets or sets a value indicating whether proxy creation is enabled.
Gets or sets a value indicating whether DetectChanges is called automatically in the API.
Gets or sets a value indicating whether to validate entities when is called.
True if the context has been disposed.
The connection underlying this context. Accessing this property does not cause the context
to be initialized, only its connection.
Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations
against the database.
Note that this virtual property can be mocked to help with unit testing.
Gets instance used to create validators and validation contexts.
This property is virtual to allow mocking.
Constructs an for an already existing .
The owner .
The existing .
Returns the underlying without causing the underlying database to be created
or the database initialization strategy to be executed.
This is used to get a context that can then be used for database creation/initialization.
Throws an exception since creating a from a context created using
an existing is not supported.
This method never returns.
Does nothing, since the already exists.
Does nothing since the database is always considered initialized if the was created
from an existing .
Does nothing since the database is always considered initialized if the was created
from an existing .
Disposes the context. The underlying is also disposed if it is owned.
Returns the underlying .
An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Note that this is currently only supported for Code First.
Gets the default database initializer to use for this context if no other has been registered.
For code first this property returns a instance.
For database/model first, this property returns null.
The default initializer.
The connection underlying this context.
Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper
over the same flag in the underlying .
Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper
over the same flag in the underlying ObjectContext.
Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names.
Creates a new pair of the given EntitySet and BaseType.
The EntitySet part of the pair.
The BaseType part of the pair.
Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names.
Creates a new pair of the given database initializer delegate and a flag
indicating whether or not it is locked.
The initializer delegate.
A flag indicating whether or not the initializer is locked and should not be changed.
Represents a raw SQL query against the context for any type where the results are never
associated with an entity set and are never tracked.
Represents a raw SQL query against the context that may be for entities in an entity set
or for some other non-entity element type.
Initializes a new instance of the class.
The SQL.
The parameters.
If the query is would track entities, then this method returns a new query that will
not track entities.
A no-tracking query.
Executes the query and returns an enumerator for the results.
The query results.
Throws an exception indicating that binding directly to a store query is not supported.
Never returns; always throws.
Returns a that contains the SQL string that was set
when the query was created. The parameters are not included.
A that represents this instance.
Gets the SQL query string,
The SQL query.
Gets the parameters.
The parameters.
Returns false.
false.
Initializes a new instance of the class.
The internal context.
Type of the element.
The SQL.
The parameters.
Returns this query since it can never be a tracking query.
This instance.
Executes the query and returns an enumerator for the results.
The query results.
Represents a raw SQL query against the context for entities in an entity set.
Initializes a new instance of the class.
The set.
The SQL.
if set to true then the entities will not be tracked.
The parameters.
If the query is would track entities, then this method returns a new query that will
not track entities.
A no-tracking query.
Executes the query and returns an enumerator for the results.
The query results.
Gets a value indicating whether this instance is set to track entities or not.
true if this instance is no-tracking; otherwise, false.
A LazyInternalConnection object manages information that can be used to create a DbConnection object and
is responsible for creating that object and disposing it.
Creates a new LazyInternalConnection. The DbConnection object will be created lazily on demand and will be
disposed when the LazyInternalConnection is disposed.
Either the database name or a connection string.
Creates an from metadata in the connection. This method must
only be called if ConnectionHasModel returns true.
The newly created context.
Disposes the underlying DbConnection.
Note that dispose actually puts the LazyInternalConnection back to its initial state such that
it can be used again.
Creates the underlying (which may actually be an )
if it does not already exist.
Searches the app.config/web.config file for a connection that matches the given name.
The connection might be a store connection or an EF connection.
The connection name.
True if a connection from the app.config file was found and used.
Returns the underlying DbConnection, creating it first if it does not already exist.
Returns a key consisting of the connection type and connection string.
If this is an EntityConnection then the metadata path is included in the key returned.
Gets a value indicating whether the connection is an EF connection which therefore contains
metadata specifying the model, or instead is a store connection, in which case it contains no
model info.
true if connection contain model info; otherwise, false.
A is a concrete type that will lazily create the
underlying when needed. The created is owned by the
internal context and will be disposed when the internal context is disposed.
Constructs a for the given owner that will be initialized
on first use.
The owner .
Responsible for creating a connection lazily when the context is used for the first time.
The model, or null if it will be created by convention
Returns the underlying without causing the underlying database to be created
or the database initialization strategy to be executed.
This is used to get a context that can then be used for database creation/initialization.
Saves all changes made in this context to the underlying database, but only if the
context has been initialized. If the context has not been initialized, then this
method does nothing because there is nothing to do; in particular, it does not
cause the context to be initialized.
The number of objects written to the underlying database.
Disposes the context. The underlying is also disposed.
The connection to the database ( object) is also disposed if it was created by
the context, otherwise it is not disposed.
Initializes the underlying .
Creates an immutable, cacheable representation of the model defined by this builder.
This model can be used to create an or can be passed to a
constructor to create a for this model.
Creates and configures the instance that will be used to build the
.
The builder.
Runs the Code First pipeline to create a that can then be used to create
an EDMX. This method throws if the context:
was created from information in an existing
or is being used in Model/Database First mode.
This method always runs the full Code First pipeline, including calling OnModelCreating, even if
the pipeline has already been run.
The builder.
Marks the database as having been initialized without actually running the .
Runs the unless it has already been run or there
is no initializer for this context type in which case this method does nothing.
Performs some action (which may do nothing) in such a way that it is guaranteed only to be run
once for the model and connection in this app domain, unless it fails by throwing an exception,
in which case it will be re-tried next time the context is initialized.
The action.
Returns the underlying .
An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not.
Note that this is currently only supported for Code First.
The actually being used, which may be the
temp context for initialization or the real context.
The connection underlying this context. Accessing this property does not cause the context
to be initialized, only its connection.
Gets the default database initializer to use for this context if no other has been registered.
For code first this property returns a instance.
For database/model first, this property returns null.
The default initializer.
Gets or sets a value indicating whether lazy loading is enabled.
If the exists, then this property acts as a wrapper over the flag stored there.
If the has not been created yet, then we store the value given so we can later
use it when we create the . This allows the flag to be changed, for example in
a DbContext constructor, without it causing the to be created.
Gets or sets a value indicating whether proxy creation is enabled.
If the ObjectContext exists, then this property acts as a wrapper over the flag stored there.
If the ObjectContext has not been created yet, then we store the value given so we can later
use it when we create the ObjectContext. This allows the flag to be changed, for example in
a DbContext constructor, without it causing the ObjectContext to be created.
Extends to create a sortable binding list that stays in
sync with an underlying . That is, when items are added
or removed from the binding list, they are added or removed from the ObservableCollecion, and
vice-versa.
The list element type.
An extended BindingList implementation that implements sorting.
This class was adapted from the LINQ to SQL class of the same name.
The element type.
Initializes a new instance of the class with the
the given underlying list. Note that sorting is dependent on having an actual
rather than some other ICollection implementation.
The list.
Applies sorting to the list.
The property to sort by.
The sort direction.
Stops sorting.
Gets a value indicating whether this list is sorted.
true if this instance is sorted; otherwise, false.
Gets the sort direction.
The sort direction.
Gets the sort property being used to sort.
The sort property.
Returns true indicating that this list supports sorting.
true.
Implements comparing for the implementation.
Initializes a new instance of the class
for sorting the list.
The property to sort by.
The sort direction.
Compares two instances of items in the list.
The left item to compare.
The right item to compare.
Determines whether this instance can sort for the specified type.
The type.
true if this instance can sort for the specified type; otherwise, false.
Determines whether this instance can sort for the specified type using IComparable.
The type.
true if this instance can sort for the specified type; otherwise, false.
Determines whether this instance can sort for the specified type using ToString.
The type.
true if this instance can sort for the specified type; otherwise, false.
Initializes a new instance of a binding list backed by the given
The obervable collection.
Creates a new item to be added to the binding list.
The new item.
Cancels adding of a new item that was started with AddNew.
Index of the item.
Removes all items from the binding list and underlying ObservableCollection.
Ends the process of adding a new item that was started with AddNew.
Index of the item.
Inserts the item into the binding list at the given index.
The index.
The item.
Removes the item at the specified index.
The index.
Sets the item into the list at the given position.
The index to insert at.
The item.
Event handler to update the binding list when the underlying observable collection changes.
The sender.
Data indicating how the collection has changed.
Adds the item to the underlying observable collection.
The item.
Removes the item from the underlying from observable collection.
The item.
A wrapper around EntityKey that allows key/values pairs that have null values to
be used. This allows Added entities with null key values to be searched for in
the ObjectStateManager.
The key name/key value pairs, where some key values may be null
Creates a new WrappedEntityKey instance.
The entity set that the key belongs to.
The fully qualified name of the given entity set.
The key values, which may be null or contain null values.
The name of the parameter passed for keyValue by the user, which is used when throwing exceptions.
True if any of the key values are null, which means that the EntityKey will also be null.
An actual EntityKey, or null if any of the key values are null.
The key name/key value pairs of the key, in which some of the key values may be null.
A concrete implementation of used for properties of complex objects.
The internal class used to implement and
.
This internal class contains all the common implementation between the generic and non-generic
entry classes and also allows for a clean internal factoring without compromising the public API.
Base class for all internal entries that represent different kinds of properties.
Initializes a new instance of the class.
The internal entity entry.
The member metadata.
Validates this property.
A sequence of validation errors for this property. Empty if no errors. Never null.
Creates a new non-generic backed by this internal entry.
The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry.
The new entry.
Creates a new generic backed by this internal entry.
The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry.
The type of the entity.
The type of the property.
The new entry.
Gets the property name.
The property is virtual to allow mocking.
The property name.
Gets or sets the current value of the navigation property.
The current value.
Gets the internal entity entry property belongs to.
This property is virtual to allow mocking.
The internal entity entry.
Gets the entry metadata.
The entry metadata.
Initializes a new instance of the class.
The internal entry.
The property info.
Creates a delegate that will get the value of this property.
The delegate.
Creates a delegate that will set the value of this property.
The delegate.
Returns true if the property of the entity that this property is ultimately part
of is set as modified. If this is a property of an entity, then this method returns
true if the property is modified. If this is a property of a complex object, then
this method returns true if the top-level complex property on the entity is modified.
True if the entity property is modified.
Sets the property of the entity that this property is ultimately part of to modified.
If this is a property of an entity, then this method marks it as modified.
If this is a property of a complex object, then this method marks the top-level
complex property as modified.
Throws if the user attempts to set a complex property to null.
The value.
Sets the given value directly onto the underlying entity object.
The value.
True if the property had a setter that we could attempt to call; false if no setter was available.
Sets the property value, potentially by setting individual nested values for a complex
property.
The value.
Gets an internal object representing a scalar or complex property of this property,
which must be a mapped complex property.
This method is virtual to allow mocking.
The property.
The type of object requested, which may be null or 'object' if any type can be accepted.
if set to true then the found property must be a complex property.
The entry.
Validates that the owning entity entry is associated with an underlying and
is not just wrapping a non-attached entity.
Creates a new non-generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The new entry.
Creates a new generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The type of the entity.
The type of the property.
The new entry.
Returns parent property, or null if this is a property on the top-level entity.
Gets the current values of the parent entity or complex property.
That is, the current values that contains the value for this property.
The parent current values.
Gets the original values of the parent entity or complex property.
That is, the original values that contains the value for this property.
The parent original values.
A delegate that reads the value of this property.
May be null if there is no way to set the value due to missing accessors on the type.
A delegate that sets the value of this property.
May be null if there is no way to set the value due to missing accessors on the type.
Gets or sets the original value.
Note that complex properties are returned as objects, not property values.
Gets or sets the current value.
Note that complex properties are returned as objects, not property values.
Also, for complex properties, the object returned is the actual complex object from the entity
and setting the complex object causes the actual object passed to be set onto the entity.
The current value.
Gets or sets a value indicating whether this property is modified.
Gets the property metadata.
The property metadata.
Initializes a new instance of the class.
The parent property entry.
The property metadata.
Creates a delegate that will get the value of this property.
The delegate.
Creates a delegate that will set the value of this property.
The delegate.
Returns true if the property of the entity that this property is ultimately part
of is set as modified. Since this is a property of a complex object
this method returns true if the top-level complex property on the entity is modified.
True if the entity property is modified.
Sets the property of the entity that this property is ultimately part of to modified.
Since this is a property of a complex object this method marks the top-level
complex property as modified.
Returns parent property, or null if this is a property on the top-level entity.
Gets the current values of the parent complex property.
That is, the current values that contains the value for this property.
The parent current values.
Gets the original values of the parent complex property.
That is, the original values that contains the value for this property.
The parent original values.
Contains metadata about a member of an entity type or complex type.
Initializes a new instance of the class.
The type that the property is declared on.
Type of the property.
The property name.
Creates a new the runtime type of which will be
determined by the metadata.
The entity entry to which the member belongs.
The parent property entry if the new entry is nested, otherwise null.
The new entry.
Gets the type of the member for which this is metadata.
The type of the member entry.
Gets the name of the property.
The name.
Gets the type of the entity or complex object that on which the member is declared.
The type that the member is declared on.
Gets the type of element for the property, which for non-collection properties
is the same as the MemberType and which for collection properties is the type
of element contained in the collection.
The type of the element.
Gets the type of the member, which for collection properties is the type
of the collection rather than the type in the collection.
The type of the member.
The types of member entries supported.
Initializes a new instance of the class.
The type that the property is declared on.
Type of the property.
The property name.
if set to true this is a collection nav prop.
Creates a new the runtime type of which will be
determined by the metadata.
The entity entry to which the member belongs.
The parent property entry which will always be null for navigation entries.
The new entry.
Gets the type of the member for which this is metadata.
The type of the member entry.
Gets the type of the member, which for collection properties is the type
of the collection rather than the type in the collection.
The type of the member.
The internal class used to implement and
.
This internal class contains all the common implementation between the generic and non-generic
entry classes and also allows for a clean internal factoring without compromising the public API.
Base class for and
containing common code for collection and reference navigation property entries.
Initializes a new instance of the class.
The internal entity entry.
The navigation metadata.
Calls Load on the underlying .
Uses CreateSourceQuery on the underlying to create a query for this
navigation property.
Gets the navigation property value from the object.
The entity.
The navigation property value.
Validates that the owning entity entry is associated with an underlying and
is not just wrapping a non-attached entity.
If the entity is not detached, then the RelatedEnd for this navigation property is obtained.
Calls IsLoaded on the underlying .
Gets the related end, which will be null if the entity is not being tracked.
The related end.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references or the collection of references
for a collection property.
This property is virtual so that it can be mocked.
The current value.
Gets a delegate that can be used to get the value of the property directly from the entity.
Returns null if the property does not have an accessible getter.
The getter delegate, or null.
Gets a delegate that can be used to set the value of the property directly on the entity.
Returns null if the property does not have an accessible setter.
The setter delegate, or null.
Initializes a new instance of the class.
The internal entity entry.
The navigation metadata.
Gets the navigation property value from the object.
Since for a collection the related end is an , it means
that the internal representation of the navigation property is just the related end.
The entity.
The navigation property value.
Creates a new non-generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The new entry.
Creates a new generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The type of the entity.
The type of the property.
The new entry.
Creates a new generic backed by this internal entry.
The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry.
The type of the entity.
The type of the element.
The new entry.
Creates a object for the given entity type
and collection element type.
The type of the entity.
The type of the property.
Type of the element.
The set.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references or the collection of references
for a collection property.
The current value.
A concrete implementation of used for properties of entities.
Initializes a new instance of the class.
The internal entry.
The property info.
Creates a delegate that will get the value of this property.
The delegate.
Creates a delegate that will set the value of this property.
The delegate.
Returns true if the property of the entity that this property is ultimately part
of is set as modified. Since this is a property of an entity this method returns
true if the property is modified.
True if the entity property is modified.
Sets the property of the entity that this property is ultimately part of to modified.
Since this is a property of an entity this method marks it as modified.
Returns parent property, or null if this is a property on the top-level entity.
Gets the current values of the parent entity.
That is, the current values that contains the value for this property.
The parent current values.
Gets the original values of the parent entity.
That is, the original values that contains the value for this property.
The parent original values.
The internal class used to implement ,
and .
This internal class contains all the common implementation between the generic and non-generic
entry classes and also allows for a clean internal factoring without compromising the public API.
Initializes a new instance of the class.
The internal entity entry.
The navigation metadata.
Gets the navigation property value from the object.
For reference navigation properties, this means getting the value from the
object.
The entity.
The navigation property value.
Sets the navigation property value onto the object.
For reference navigation properties, this means setting the value onto the
object.
The entity.
The value.
Sets the given value on the given which must be an
.
This method is setup in such a way that it can easily be used by CreateDelegate without any
dynamic code generation needed.
The type of the related entity.
The entity reference.
The value.
Creates a new non-generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The new entry.
Creates a new generic backed by this internal entry.
The runtime type of the DbMemberEntry created will be or a subtype of it.
The type of the entity.
The type of the property.
The new entry.
Gets or sets the current value of the navigation property. The current value is
the entity that the navigation property references or the collection of references
for a collection property.
The current value.
Contains metadata for a property of a complex object or entity.
Initializes a new instance of the class.
The type that the property is declared on.
Type of the property.
The property name.
if set to true the property is mapped in the EDM.
if set to true the property is a complex property.
Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM)
and that it is a complex or scalar property rather than a nav property and then returns metadata about
the property.
The internal context.
The type that the property is declared on.
The type of property requested, which may be 'object' if any type can be accepted.
Name of the property.
Metadata about the property, or null if the property does not exist or is a navigation property.
Creates a new the runtime type of which will be
determined by the metadata.
The entity entry to which the member belongs.
The parent property entry if the new entry is nested, otherwise null.
The new entry.
Gets a value indicating whether this is a complex property.
That is, not whether or not this is a property on a complex object, but rather if the
property itself is a complex property.
true if this instance is complex; otherwise, false.
Gets the type of the member for which this is metadata.
The type of the member entry.
Gets a value indicating whether this instance is mapped in the EDM.
true if this instance is mapped; otherwise, false.
Gets the type of the member, which for collection properties is the type
of the collection rather than the type in the collection.
The type of the member.
An implementation of that represents a clone of another
dictionary. That is, all the property values have been been copied into this dictionary.
The internal class used to implement .
This internal class allows for a clean internal factoring without compromising the public API.
Initializes a new instance of the class.
The internal context with which the entity of complex object is associated.
The type of the entity or complex object.
If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object.
Implemented by subclasses to get the dictionary item for a given property name.
Checking that the name is valid should happen before this method is called such
that subclasses do not need to perform the check.
Name of the property.
An item for the given name.
Creates an object of the underlying type for this dictionary and hydrates it with property
values from this dictionary.
The properties of this dictionary copied into a new object.
Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which
case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.)
In either case, app domain cached compiled delegates are used to do the creation.
Sets the values of this dictionary by reading values out of the given object.
The given object must be of the type that this dictionary is based on.
The object to read values from.
Creates a new dictionary containing copies of all the properties in this dictionary.
Changes made to the new dictionary will not be reflected in this dictionary and vice versa.
A clone of this dictionary.
Sets the values of this dictionary by reading values from another dictionary.
The other dictionary must be based on the same type as this dictionary, or a type derived
from the type for this dictionary.
The dictionary to read values from.
Gets the dictionary item for the property with the given name.
This method checks that the given name is valid.
The property name.
The item.
Sets the value of the property only if it is different from the current value and is not
an invalid attempt to set a complex property.
Gets the set of names of all properties in this dictionary as a read-only set.
The property names.
Gets or sets the value of the property with the specified property name.
The value may be a nested instance of this class.
The property name.
The value of the property.
Gets the entity type of complex type that this dictionary is based on.
The type of the object underlying this dictionary.
Gets the internal context with which the underlying entity or complex type is associated.
The internal context.
Gets a value indicating whether the object for this dictionary is an entity or a complex object.
true if this this is a dictionary for an entity; false if it is a dictionary for a complex object.
Initializes a new instance of the class by copying
values from the given dictionary.
The dictionary to clone.
If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary.
Gets the dictionary item for a given property name.
Name of the property.
An item for the given name.
Gets the set of names of all properties in this dictionary as a read-only set.
The property names.
An implementation of for an item in a .
Represents an item in an representing a property name/value.
Gets or sets the value of the property represented by this item.
The value.
Gets the name of the property.
The name.
Gets a value indicating whether this item represents a complex property.
true If this instance represents a complex property; otherwise, false.
Gets the type of the underlying property.
The property type.
Initializes a new instance of the class.
The name.
The value.
The type.
If set to true this item represents a complex property.
Gets or sets the value of the property represented by this item.
The value.
Gets the name of the property.
The name.
Gets a value indicating whether this item represents a complex property.
true If this instance represents a complex property; otherwise, false.
Gets the type of the underlying property.
The property type.
An implementation of that is based on an existing
instance.
Initializes a new instance of the class.
The internal context.
The type.
The data record.
If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object.
Gets the dictionary item for a given property name.
Name of the property.
An item for the given name.
Gets the set of names of all properties in this dictionary as a read-only set.
The property names.
An implementation of for an item in a .
Initializes a new instance of the class.
The data record.
The ordinal.
The value.
Gets or sets the value of the property represented by this item.
The value.
Gets the name of the property.
The name.
Gets a value indicating whether this item represents a complex property.
true If this instance represents a complex property; otherwise, false.
Gets the type of the underlying property.
The property type.
This is version of an internal interface that already exists in System.Data.Entity that
is implemented by . Using this interface allows state
entries to be mocked for unit testing. The plan is to remove this version of the
interface and use the one in System.Data.Entity once we roll into the framework.
Note that some members may need to be added to the interface in the framework when
we combine the two.
The internal class used to implement
and .
This internal class contains all the common implementation between the generic and non-generic
entry classes and also allows for a clean internal factoring without compromising the public API.
Initializes a new instance of the class.
The internal context.
The state entry.
Initializes a new instance of the class for an
entity which may or may not be attached to the context.
The internal context.
The entity.
Queries the database for copies of the values of the tracked entity as they currently exist in the database.
The store values.
Appends a query for the properties in the entity to the given string builder that is being used to
build the eSQL query. This method may be called recursively to query for all the sub-properties of
a complex property.
The query builder.
The qualifier with which to prefix each property name.
The dictionary that acts as a template for the properties to query.
Validates that a dictionary can be obtained for the state of the entity represented by this entry.
The method name being used to request a dictionary.
The state that is invalid for the request being processed.
Calls Refresh with StoreWins on the underlying state entry.
Gets an internal object representing a reference navigation property.
This method is virtual to allow mocking.
The navigation property.
The type of entity requested, which may be 'object' or null if any type can be accepted.
The entry.
Gets an internal object representing a collection navigation property.
This method is virtual to allow mocking.
The navigation property.
The type of entity requested, which may be 'object' or null f any type can be accepted.
The entry.
Gets an internal object representing a navigation, scalar, or complex property.
This method is virtual to allow mocking.
Name of the property.
The type of entity requested, which may be 'object' if any type can be accepted.
The entry.
Gets an internal object representing a scalar or complex property.
This method is virtual to allow mocking.
The property.
The type of object requested, which may be null or 'object' if any type can be accepted.
if set to true then the found property must be a complex property.
The entry.
Gets an internal object representing a scalar or complex property.
The property may be a nested property on the given .
The parent property entry, or null if this is a property directly on the entity.
Name of the property.
The type of object requested, which may be null or 'object' if any type can be accepted.
if set to true then the found property must be a complex property.
The entry.
Gets an internal object representing a scalar or complex property.
The property may be a nested property on the given .
The parent property entry, or null if this is a property directly on the entity.
Name of the property.
The property split out into its parts.
The type of object requested, which may be null or 'object' if any type can be accepted.
if set to true then the found property must be a complex property.
The entry.
Checks that the given property name is a navigation property and is either a reference property or
collection property according to the value of requireCollection.
Gets metadata for the given property if that property is a navigation property or returns null
if it is not a navigation property.
Name of the property.
Navigation property metadata or null.
Gets the type of entity or entities at the target end of the given navigation property.
The navigation property.
The CLR type of the entity or entities at the other end.
Gets the related end for the navigation property with the given name.
The navigation property.
Uses EDM metadata to validate that the property name exists in the model and represents a scalar or
complex property or exists in the CLR type.
This method is public and virtual so that it can be mocked.
The property name.
The type on which the property is declared.
The type of object requested, which may be 'object' if any type can be accepted.
Metadata for the property.
Splits the given property name into parts delimited by dots.
Name of the property.
The parts of the name.
Validates that this entry is associated with an underlying and
is not just wrapping a non-attached entity.
Validates entity represented by this entity entry.
This method is virtual to allow mocking.
User defined dictionary containing additional info for custom validation. This parameter is optional and can be null.
containing validation result. Never null.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Determines whether the specified is equal to this instance.
Two instances are considered equal if they are both entries for
the same entity on the same .
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Gets the tracked entity.
This property is virtual to allow mocking.
The entity.
Gets or sets the state of the entity.
The state.
Gets the current property values for the tracked entity represented by this object.
This property is virtual to allow mocking.
The current values.
Gets the original property values for the tracked entity represented by this object.
The original values are usually the entity's property values as they were when last queried from
the database.
This property is virtual to allow mocking.
The original values.
Checks whether or not this entry is associated with an underlying or
is just wrapping a non-attached entity.
Gets the type of the entity being tracked.
The type of the entity.
Gets the c-space entity type for this entity from the EDM.
Gets the underlying object state entry.
Gets the internal context.
The internal context.
An implementation of that wraps an existing set but makes
it read-only.
Initializes a new instance of the class wrapped around
another existing set.
The existing set.
This is a temporary adapter class that wraps an and
presents it as an . This class will be removed once
we roll into the System.Data.Entity assembly. See
for more details.
An instance of this internal class is created whenever an instance of the public
class is needed. This allows the public surface to be non-generic, while the runtime type created
still implements .
The type of the element.
Creates a new query that will be backed by the given internal query object.
The backing query.
See comments in .
See comments in .
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Gets the underlying internal query object.
The internal query.
An instance of this internal class is created whenever an instance of the public
class is needed. This allows the public surface to be non-generic, while the runtime type created
still implements .
The type of the entity.
Creates a new set that will be backed by the given internal set.
The internal set.
Creates an instance of this class. This method is used with CreateDelegate to cache a delegate
that can create a generic instance without calling MakeGenericType every time.
The internal set to wrap, or null if a new internal set should be created.
The set.
See comments in .
See comments in .
See comments in .
See comments in .
See comments in .
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Gets the underlying internal query object.
The internal query.
Gets the underlying internal set.
The internal set.
See comments in .
A LINQ expression visitor that finds uses with equivalent
instances.
Replaces calls to DbContext.Set() with an expression for the equivalent .
The node to replace.
A new node, which may have had the replacement made.
Replaces a or property with a constant expression
for the underlying .
The node to replace.
A new node, which may have had the replacement made.
Processes the fields in each constant expression and replaces instances with
the underlying ObjectQuery instance. This handles cases where the query has a closure
containing values.
Gets a value from the given member, or returns null
if the member doesn't contain a DbContext instance.
The expression for the object for the member, which may be null for a static member.
The member.
The context or null.
Gets the instance from the given instance or static member, returning null
if the member does not contain a DbContext instance.
The member.
The value of the object to get the instance from, or null if the member is static.
The context instance or null.
Takes a or and creates an expression
for the underlying .
Takes a or and extracts the underlying .
A non-generic interface implemented by that allows operations on
any query object without knowing the type to which it applies.
An interface implemented by .
The type of the element.
A non-generic interface implemented by that allows operations on
any set object without knowing the type to which it applies.
An interface implemented by .
An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well
as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary
information to other parts of the design in a controlled manner without adding a lot of internal methods and
properties to the DbSet and DbQuery classes themselves.
The type of entity to query for.
Creates a new query that will be backed by the given InternalContext.
The backing context.
Creates a new internal query based on the information in an existing query together with
a new underlying ObjectQuery.
Resets the query to its uninitialized state so that it will be re-lazy initialized the next
time it is used. This allows the ObjectContext backing a DbContext to be switched out.
Updates the underlying ObjectQuery with the given include path.
The include path.
A new query containing the defined include path.
Returns a new query where the entities returned will not be cached in the .
A new query with NoTracking applied.
Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects
so that the query can be used.
Returns a representation of the underlying query, equivalent
to ToTraceString on ObjectQuery.
The query string.
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
The underlying InternalContext.
The underlying ObjectQuery.
The underlying ObjectQuery.
The LINQ query expression.
The LINQ query provider for the underlying .
The IQueryable element type.
Creates a new query that will be backed by the given InternalContext.
The backing context.
Resets the set to its uninitialized state so that it will be re-lazy initialized the next
time it is used. This allows the ObjectContext backing a DbContext to be switched out.
Finds an entity with the given primary key values.
If an entity with the given primary key values exists in the context, then it is
returned immediately without making a request to the store. Otherwise, a request
is made to the store for an entity with the given primary key values and this entity,
if found, is attached to the context and returned. If no entity is found in the
context or the store, then null is returned.
The ordering of composite key values is as defined in the EDM, which is in turn as defined in
the designer, by the Code First fluent API, or by the DataMember attribute.
The values of the primary key for the entity to be found.
The entity found, or null.
Thrown if multiple entities exist in the context with the primary key values given.
Thrown if the type of entity is not part of the data model for this context.
Thrown if the types of the key values do not match the types of the key values for the entity type to be found.
Thrown if the context has been disposed.
Finds an entity in the state manager with the given primary key values, or returns null
if no such entity can be found. This includes looking for Added entities with the given
key values.
Finds an entity in the store with the given primary key values, or returns null
if no such entity can be found. This code is adapted from TryGetObjectByKey to
include type checking in the query.
Attaches the given entity to the context underlying the set. That is, the entity is placed
into the context in the Unchanged state, just as if it had been read from the database.
Attach is used to repopulate a context with an entity that is known to already exist in the database.
SaveChanges will therefore not attempt to insert an attached entity into the database because
it is assumed to already be there.
Note that entities that are already in the context in some other state will have their state set
to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state.
This method is virtual so that it can be mocked.
The entity to attach.
Adds the given entity to the context underlying the set in the Added state such that it will
be inserted into the database when SaveChanges is called.
Note that entities that are already in the context in some other state will have their state set
to Added. Add is a no-op if the entity is already in the context in the Added state.
This method is virtual so that it can be mocked.
The entity to add.
Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges
is called. Note that the entity must exist in the context in some other state before this method
is called.
Note that if the entity exists in the context in the Added state, then this method
will cause it to be detached from the context. This is because an Added entity is assumed not to
exist in the database such that trying to delete it does not make sense.
This method is virtual so that it can be mocked.
The entity to remove.
This method checks whether an entity is already in the context. If it is, then the state
is changed to the new state given. If it isn't, then the action delegate is executed to
either Add or Attach the entity.
A delegate to Add or Attach the entity.
The new state to give the entity if it is already in the context.
The entity.
Name of the method.
Creates a new instance of an entity for the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The entity instance, which may be a proxy.
Creates a new instance of an entity for the type of this set or for a type derived
from the type of this set.
Note that this instance is NOT added or attached to the set.
The instance returned will be a proxy if the underlying context is configured to create
proxies and the entity type meets the requirements for creating a proxy.
The type of entity to create.
The entity instance, which may be a proxy.
Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects
so that the query can be used.
This method is virtual so that it can be mocked.
Creates an underlying for this set.
if set to true then the query is set to be no-tracking.
The query.
Returns a representation of the underlying query, equivalent
to ToTraceString on ObjectQuery.
The query string.
Updates the underlying ObjectQuery with the given include path.
The include path.
A new query containing the defined include path.
Returns a new query where the entities returned will not be cached in the .
A new query with NoTracking applied.
Executes the given SQL query against the database materializing entities into the entity set that
backs this set.
The SQL quey.
if true then the entities are not tracked, otherwise they are.
The parameters.
The query results.
Gets the enumeration of this query causing it to be executed against the store.
An enumerator for the query
Gets the ObservableCollection representing the local view for the set based on this query.
The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query.
The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query.
The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query.
The underlying EntitySet. Accessing this property will trigger lazy initialization of the query.
The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query.
The underlying InternalContext. Accessing this property will trigger lazy initialization of the query.
The LINQ query expression.
The LINQ query provider for the underlying .
A wrapping query provider that performs expression transformation and then delegates
to the provider. The objects returned
are always instances of when the generic CreateQuery method is
used and are instances of when the non-generic CreateQuery method
is used. This provider is associated with non-generic objects.
A wrapping query provider that performs expression transformation and then delegates
to the provider. The objects returned are always instances
of . This provider is associated with generic objects.
Creates a provider that wraps the given provider.
The provider to wrap.
Performs expression replacement and then delegates to the wrapped provider before wrapping
the returned as a .
Performs expression replacement and then delegates to the wrapped provider before wrapping
the returned as a where T is determined
from the element type of the ObjectQuery.
By default, calls the same method on the wrapped provider.
By default, calls the same method on the wrapped provider.
Performs expression replacement and then delegates to the wrapped provider to create an
.
Wraps the given as a where T is determined
from the element type of the ObjectQuery.
Gets the internal context.
The internal context.
Creates a provider that wraps the given provider.
The provider to wrap.
Performs expression replacement and then delegates to the wrapped provider before wrapping
the returned as a .
Delegates to the wrapped provider except returns instances of .
Instances of this class are used internally to create constant expressions for
that are inserted into the expression tree to replace references to
and .
The type of the element.
Private constructor called by the Create factory method.
The query.
Factory method called by CreateDelegate to create an instance of this class.
The query, which must be a generic object of the expected type.
A new instance.
The public property expected in the LINQ expression tree.
The query.
Validates a property of a given EDM complex type.
This is a composite validator for a complex property of an entity.
Validates a property of a given EDM property type.
This is a composite validator for a property of an entity or a complex type.
Simple validators for the corresponding property.
Name of the property the validator was created for.
Creates an instance of for a given EDM property.
The EDM property name.
Validators used to validate the given property.
Validates a property.
Validation context. Never null.
Property to validate. Never null.
Validation errors as . Empty if no errors. Never null.
Simple validators for the corresponding property.
Gets the name of the property the validator was created for.
The complex type validator.
Creates an instance of for a given complex property.
The complex property name.
Validators used to validate the given property.
Complex type validator.
Validates a complex property.
Validation context. Never null.
Property to validate. Never null.
Validation errors as . Empty if no errors. Never null.
Validator used to validate a property of a given EDM ComplexType.
This is a composite validator.
Validator used to validate an entity of a given EDM Type.
This is a composite validator for an EDM Type.
Creates an instance for a given EDM type.
Property validators.
Type level validators.
Validates an instance.
Entity validation context. Must not be null.
The entry for the complex property. Null if validating an entity.
instance. Never null.
Protected so it doesn't appear on EntityValidator.
Validates type properties. Any validation errors will be added to
collection.
Validation context. Must not be null.
Collection of validation errors. Any validation errors will be added to it.
The entry for the complex property. Null if validating an entity.
Note that will be modified by this method. Errors should be only added,
never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations
and a merge of validation error lists per entity.
Returns a validator for a child property.
Name of the child property for which to return a validator.
Validator for a child property. Possibly null if there are no validators for requested property.
Creates an instance for a given EDM complex type.
Property validators.
Type level validators.
Validates an instance.
Entity validation context. Must not be null.
The entry for the complex property. Null if validating an entity.
instance. Never null.
Validates type properties. Any validation errors will be added to
collection.
Validation context. Must not be null.
Collection of validation errors. Any validation errors will be added to it.
The entry for the complex property. Null if validating an entity.
Note that will be modified by this method. Errors should be only added,
never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations
and a merge of validation error lists per entity.
Contains information needed to validate an entity or its properties.
The entity being validated or the entity that owns the property being validated.
Initializes a new instance of EntityValidationContext class.
The entity being validated or the entity that owns the property being validated.
External contexts needed for validation.
External context needed for validation.
Gets the entity being validated or the entity that owns the property being validated.
Validator used to validate an entity of a given EDM EntityType.
This is a top level, composite validator. This is also an entry point to getting an entity
validated as validation of an entity is always started by calling Validate method on this type.
Creates an instance for a given EDM entity type.
Property validators.
Entity type level validators.
Validates an entity.
Entity validation context. Must not be null.
instance. Never null.
Validates type properties. Any validation errors will be added to
collection.
Validation context. Must not be null.
Collection of validation errors. Any validation errors will be added to it.
The entry for the complex property. Null if validating an entity.
Note that will be modified by this method. Errors should be only added,
never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations
and a merge of validation error lists per entity.
Builds validators based on s specified on entity CLR types and properties
as well as based on presence of implementation on entity and complex
type CLR types. It's not sealed and not static for mocking purposes.
Builds an for the given .
The entity entry to build the validator for.
Whether the currently processed type is the target type or one of the ancestor types.
for the given . Possibly null
if no validation has been specified for this entity type.
Builds the validator for a given and the corresponding
.
The CLR type that corresponds to the EDM complex type.
The EDM complex type that type level validation is built for.
A for the given complex type. May be null if no validation specified.
Extracted method from BuildEntityValidator and BuildComplexTypeValidator
Build validators for the and the corresponding
or .
Properties to build validators for.
Non-navigation EDM properties.
Navigation EDM properties.
A list of validators. Possibly empty, never null.
Builds a for the given and the corresponding
. If the property is a complex type, type level validators will be built here as
well.
The CLR property to build the validator for.
The EDM property to build the validator for.
for the given . Possibly null
if no validation has been specified for this property.
Builds a for the given transient .
The CLR property to build the validator for.
for the given . Possibly null
if no validation has been specified for this property.
Builds s for given that derive from
.
Attributes used to build validators.
A list of s built from .
Possibly empty, never null.
Returns all non-static non-indexed CLR properties from the .
The CLR to get the properties from.
A collection of CLR properties. Possibly empty, never null.
Builds validators based on the facets of :
* If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute
* If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute.
However the validator isn't added if .IsMaxLength has been set to true.
The CLR property to build the facet validators for.
The property for which facet validators will be created
A collection of validators.
Contracts for abstract class.
Validates entities or complex types implementing IValidatableObject interface.
Display attribute used to specify the display name for an entity or complex property.
Validates an entity or a complex type implementing IValidatableObject interface.
This method is virtual to allow mocking.
Validation context. Never null.
Property to validate. Null if this is the entity that will be validated. Never null if this
is the complex type that will be validated.
Validation error as . Empty if no errors. Never null.
Note that is used to figure out what needs to be validated. If it not null the complex
type will be validated otherwise the entity will be validated.
Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate
anything and will not return any errors. The reason for this is that Validation is supposed to validate using
information the user provided and not some additional implicit rules. (ObjectContext will throw for operations
that involve null complex properties).
Validates a property, complex property or an entity using validation attributes the property
or the complex/entity type is decorated with.
Note that this class is used for validating primitive properties using attributes declared on the property
(property level validation) and complex properties and entities using attributes declared on the type
(type level validation).
Display attribute used to specify the display name for a property or entity.
Validation attribute used to validate a property or an entity.
Creates an instance of class.
Validation attribute used to validate a property or an entity.
Validates a property or an entity.
Validation context. Never null.
Property to validate. Null for entity validation. Not null for property validation.
Validation errors as . Empty if no errors, never null.
Used to cache and retrieve generated validators and to create context for validating entities or properties.
Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type
it will be associated with a null validator.
Initializes a new instance of class.
Returns a validator to validate .
Entity the validator is requested for.
to validate . Possibly null if no validation
has been specified for the entity.
Returns a validator to validate .
Navigation property the validator is requested for.
Validator to validate . Possibly null if no validation
has been specified for the requested property.
Gets a validator for the .
Entity validator.
Property to get a validator for.
Validator to validate . Possibly null if there is no validation for the
.
For complex properties this method walks up the type hierarchy to get to the entity level and then goes down
and gets a validator for the child property that is an ancestor of the property to validate. If a validator
returned for an ancestor is null it means that there is no validation defined beneath and the method just
propagates (and eventually returns) null.
Creates for .
Entity entry for which a validation context needs to be created.
User defined dictionary containing additional info for custom validation. This parameter is optional and can be null.
An instance of class.
Allows configuration to be performed for an complex type in a model.
A ComplexTypeConfiguration can be obtained via the ComplexType method on
or a custom type derived from ComplexTypeConfiguration
can be registered via the Configurations property on .
The complex type to be configured.
Allows configuration to be performed for a type in a model.
The type to be configured.
Configures a property that is defined on this type.
The type of the property being configured.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
The type of the property being configured.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Configures a property that is defined on this type.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to configure the property.
Excludes a property from the model so that it will not be mapped to the database.
The type of the property to be ignored.
A lambda expression representing the property to be configured.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
Initializes a new instance of ComplexTypeConfiguration
Allows the conventions used by a instance to be customized.
Currently removal of one or more default conventions is the only supported operation.
The default conventions can be found in the System.Data.Entity.Conventions namespace.
Disables a convention for the .
The default conventions that are available for removal can be found in the System.Data.Entity.Conventions namespace.
The type of the convention to be disabled.
Moves a foreign key constraint from oldTable to newTable and updates column references
Move any FK constraints that are now completely in newTable and used to refer to oldColumn
Configures a database column used to store a string values.
This configuration functionality is available via the Code First Fluent API, see .
Configures the column to allow the maximum length supported by the database provider.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the column to be fixed length.
Use HasMaxLength to set the length that the property is fixed to.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the column to be variable length.
Columns are variable length by default.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the column to be optional.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the column to be required.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column.
Name of the database provider specific data type.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the order of the database column.
The order that this column should appear in the database table.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures the column to support Unicode string content.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Configures whether or not the column supports Unicode string content.
Value indicating if the column supports Unicode string content or not.
Specifying 'null' will remove the Unicode facet from the column.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same StringColumnConfiguration instance so that multiple calls can be chained.
Base class for performing configuration of a relationship.
This configuration functionality is available via the Code First Fluent API, see .
Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model.
This configuration functionality is available via the Code First Fluent API, see .
Configures the name of the column(s) for the foreign key.
The foreign key column names.
When using multiple foreign key properties, the properties must be specified in the same order that the
the primary key properties were configured for the target entity type.
The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the table name that the foreign key column(s) reside in.
The table that is specified must already be mapped for the entity type.
If you want the foreign key(s) to reside in their own table then use the Map method
on to perform
entity splitting to create the table with just the primary key property. Foreign keys can
then be added to the table via this method.
Name of the table.
The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the table name and schema that the foreign key column(s) reside in.
The table that is specified must already be mapped for the entity type.
If you want the foreign key(s) to reside in their own table then use the Map method
on to perform
entity splitting to create the table with just the primary key property. Foreign keys can
then be added to the table via this method.
Name of the table.
Schema of the table.
The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the table and column mapping of a many:many relationship.
This configuration functionality is available via the Code First Fluent API, see .
Configures the join table name for the relationship.
Name of the table.
The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the join table name and schema for the relationship.
Name of the table.
Schema of the table.
The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the name of the column(s) for the left foreign key.
The left foreign key represents the navigation property specified in the HasMany call.
The foreign key column names.
When using multiple foreign key properties, the properties must be specified in the same order that the
the primary key properties were configured for the target entity type.
The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures the name of the column(s) for the right foreign key.
The right foreign key represents the navigation property specified in the WithMany call.
The foreign key column names.
When using multiple foreign key properties, the properties must be specified in the same order that the
the primary key properties were configured for the target entity type.
The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained.
Configures a relationship that can only support foreign key properties that are not exposed in the object model.
This configuration functionality is available via the Code First Fluent API, see .
Configures a relationship that can support cascade on delete functionality.
Configures cascade delete to be on for the relationship.
Configures whether or not cascade delete is on for the relationship.
Value indicating if cascade delete is on or not.
Configures the relationship to use foreign key property(s) that are not exposed in the object model.
The column(s) and table can be customized by specifying a configuration action.
If an empty configuration action is specified then column name(s) will be generated by convention.
If foreign key properties are exposed in the object model then use the HasForeignKey method.
Not all relationships support exposing foreign key properties in the object model.
Action that configures the foreign key column(s) and table.
A configuration object that can be used to further configure the relationship.
Used to configure a property of an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Used to configure a property with length facets for an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Used to configure a primitive property of an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Configures the property to be optional.
The database column used to store this property will be nullable.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be required.
The database column used to store this property will be non-nullable.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures how values for the property are generated by the database.
The pattern used to generate values for the property in the database.
Setting 'null' will remove the database generated pattern facet from the property.
Setting 'null' will cause the same runtime behavior as specifying 'None'.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be used as an optimistic concurrency token.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property is to be used as an optimistic concurrency token.
Value indicating if the property is a concurrency token or not.
Specifying 'null' will remove the concurrency token facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column used to store the property.
Name of the database provider specific data type.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the name of the database column used to store the property.
The name of the column.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the order of the database column used to store the property.
This method is also used to specify key ordering when an entity type has a composite key.
The order that this column should appear in the database table.
The same PrimitivePropertyConfiguration instance so that multiple calls can be chained.
Configures the property to allow the maximum length supported by the database provider.
The same LengthPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to have the specified maximum length.
The maximum length for the property.
Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.
The same LengthPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be fixed length.
Use HasMaxLength to set the length that the property is fixed to.
The same LengthPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be variable length.
Properties are variable length by default.
The same LengthPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to allow the maximum length supported by the database provider.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to have the specified maximum length.
The maximum length for the property.
Setting 'null' will remove any maximum length restriction from the property.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be fixed length.
Use HasMaxLength to set the length that the property is fixed to.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be variable length.
properties are variable length by default.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be optional.
The database column used to store this property will be nullable.
properties are optional by default.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be required.
The database column used to store this property will be non-nullable.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures how values for the property are generated by the database.
The pattern used to generate values for the property in the database.
Setting 'null' will remove the database generated pattern facet from the property.
Setting 'null' will cause the same runtime behavior as specifying 'None'.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be used as an optimistic concurrency token.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property is to be used as an optimistic concurrency token.
Value indicating if the property is a concurrency token or not.
Specifying 'null' will remove the concurrency token facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the name of the database column used to store the property.
The name of the column.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column used to store the property.
Name of the database provider specific data type.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the order of the database column used to store the property.
This method is also used to specify key ordering when an entity type has a composite key.
The order that this column should appear in the database table.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be a row version in the database.
The actual data type will vary depending on the database provider being used.
Setting the property to be a row version will automatically configure it to be an
optimistic concurrency token.
The same BinaryPropertyConfiguration instance so that multiple calls can be chained.
Used to configure a property of an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Configures the property to be optional.
The database column used to store this property will be nullable.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be required.
The database column used to store this property will be non-nullable.
properties are required by default.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures how values for the property are generated by the database.
The pattern used to generate values for the property in the database.
Setting 'null' will remove the database generated pattern facet from the property.
Setting 'null' will cause the same runtime behavior as specifying 'None'.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be used as an optimistic concurrency token.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property is to be used as an optimistic concurrency token.
Value indicating if the property is a concurrency token or not.
Specifying 'null' will remove the concurrency token facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the name of the database column used to store the property.
The name of the column.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column used to store the property.
Name of the database provider specific data type.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the order of the database column used to store the property.
This method is also used to specify key ordering when an entity type has a composite key.
The order that this column should appear in the database table.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Configures the precision of the property.
If the database provider does not support precision for the data type of the column then the value is ignored.
Precision of the property.
The same DateTimePropertyConfiguration instance so that multiple calls can be chained.
Used to configure a property of an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Configures the property to be optional.
The database column used to store this property will be nullable.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be required.
The database column used to store this property will be non-nullable.
properties are required by default.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures how values for the property are generated by the database.
The pattern used to generate values for the property in the database.
Setting 'null' will remove the database generated pattern facet from the property.
Setting 'null' will cause the same runtime behavior as specifying 'None'.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be used as an optimistic concurrency token.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property is to be used as an optimistic concurrency token.
Value indicating if the property is a concurrency token or not.
Specifying 'null' will remove the concurrency token facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the name of the database column used to store the property.
The name of the column.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column used to store the property.
Name of the database provider specific data type.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the order of the database column used to store the property.
This method is also used to specify key ordering when an entity type has a composite key.
The order that this column should appear in the database table.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Configures the precision and scale of the property.
The precision of the property.
The scale of the property.
The same DecimalPropertyConfiguration instance so that multiple calls can be chained.
Used to configure a property of an entity type or complex type.
This configuration functionality is available via the Code First Fluent API, see .
Configures the property to allow the maximum length supported by the database provider.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to have the specified maximum length.
The maximum length for the property.
Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column..
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be fixed length.
Use HasMaxLength to set the length that the property is fixed to.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be variable length.
properties are variable length by default.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be optional.
The database column used to store this property will be nullable.
properties are optional by default.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be required.
The database column used to store this property will be non-nullable.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures how values for the property are generated by the database.
The pattern used to generate values for the property in the database.
Setting 'null' will remove the database generated pattern facet from the property.
Setting 'null' will cause the same runtime behavior as specifying 'None'.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to be used as an optimistic concurrency token.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property is to be used as an optimistic concurrency token.
Value indicating if the property is a concurrency token or not.
Specifying 'null' will remove the concurrency token facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the name of the database column used to store the property.
The name of the column.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the data type of the database column used to store the property.
Name of the database provider specific data type.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the order of the database column used to store the property.
This method is also used to specify key ordering when an entity type has a composite key.
The order that this column should appear in the database table.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures the property to support Unicode string content.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Configures whether or not the property supports Unicode string content.
Value indicating if the property supports Unicode string content or not.
Specifying 'null' will remove the Unicode facet from the property.
Specifying 'null' will cause the same runtime behavior as specifying 'false'.
The same StringPropertyConfiguration instance so that multiple calls can be chained.
Convention to process instances of found on foreign key properties in the model.
Base class for conventions that process CLR attributes found in the model.
The type of member to look for.
The type of the configuration to look for.
The type of the attribute to look for.
Convention to process instances of found on properties in the model.
Convention to add a cascade delete to the join table from both tables involved in a many to many relationship.
Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties
Convention to set precision to 18 and scale to 2 for decimal properties.
Configures a relationship that can support foreign key properties that are exposed in the object model.
This configuration functionality is available via the Code First Fluent API, see .
The dependent entity type.
Configures the relationship to use foreign key property(s) that are exposed in the object model.
If the foreign key property(s) are not exposed in the object model then use the Map method.
The type of the key.
A lambda expression representing the property to be used as the foreign key.
If the foreign key is made up of multiple properties then specify an anonymous type including the properties.
When using multiple foreign key properties, the properties must be specified in the same order that the
the primary key properties were configured for the principal entity type.
A configuration object that can be used to further configure the relationship.
Configures a many:many relationship.
This configuration functionality is available via the Code First Fluent API, see .
Configures the foreign key column(s) and table used to store the relationship.
Action that configures the foreign key column(s) and table.
Configures the table and column mapping for an entity type or a sub-set of properties from an entity type.
This configuration functionality is available via the Code First Fluent API, see .
The entity type to be mapped.
Configures the properties that will be included in this mapping fragment.
If this method is not called then all properties that have not yet been
included in a mapping fragment will be configured.
An anonymous type including the properties to be mapped.
A lambda expression to an anonymous type that contains the properties to be mapped.
C#: t => new { t.Id, t.Property1, t.Property2 }
VB.Net: Function(t) New From { p.Id, t.Property1, t.Property2 }
Re-maps all properties inherited from base types.
When configuring a derived type to be mapped to a separate table this will cause all properties to
be included in the table rather than just the non-inherited properties. This is known as
Table per Concrete Type (TPC) mapping.
Configures the table name to be mapped to.
Name of the table.
Configures the table name and schema to be mapped to.
Name of the table.
Schema of the table.
Configures the discriminator column used to differentiate between types in an inheritance hierarchy.
The name of the discriminator column.
A configuration object to further configure the discriminator column and values.
Configures the discriminator condition used to differentiate between types in an inheritance hierarchy.
The type of the property being used to discriminate between types.
A lambda expression representing the property being used to discriminate between types.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object to further configure the discriminator condition.
Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property.
This configuration functionality is available via the Code First Fluent API, see .
Configures the condition to require a value in the property.
Rows that do not have a value assigned to column that this property is stored in are
assumed to be of the base type of this entity type.
Configures a discriminator column used to differentiate between types in an inheritance hierarchy.
This configuration functionality is available via the Code First Fluent API, see .
Configures the discriminator value used to identify the entity type being
configured from other types in the inheritance hierarchy.
Type of the discriminator value.
The value to be used to identify the entity type.
A configuration object to configure the column used to store discriminator values.
Configures the discriminator value used to identify the entity type being
configured from other types in the inheritance hierarchy.
Type of the discriminator value.
The value to be used to identify the entity type.
A configuration object to configure the column used to store discriminator values.
Configures the discriminator value used to identify the entity type being
configured from other types in the inheritance hierarchy.
The value to be used to identify the entity type.
A configuration object to configure the column used to store discriminator values.
Allows derived configuration classes for entities and complex types to be registered with a .
Derived configuration classes are created by deriving from
or and using a type to be included in the model as the generic
parameter.
Configuration can be performed without creating derived configuration classes via the Entity and ComplexType
methods on .
Adds an to the .
Only one can be added for each type in a model.
The entity type being configured.
The entity type configuration to be added.
The same ConfigurationRegistrar instance so that multiple calls can be chained.
Adds an to the .
Only one can be added for each type in a model.
The complex type being configured.
The complex type configuration to be added
The same ConfigurationRegistrar instance so that multiple calls can be chained.
True if this configuration can be replaced in the model configuration, false otherwise
This is only set to true for configurations that are registered automatically via the DbContext
Configures a many relationship from an entity type.
The entity type that the relationship originates from.
The entity type that the relationship targets.
Configures the relationship to be many:many with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be many:many without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be many:required with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be many:required without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be many:optional with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be many:optional without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Initializes configurations in the ModelConfiguration so that configuration data
is in a single place
Configures an optional relationship from an entity type.
The entity type that the relationship originates from.
The entity type that the relationship targets.
Configures the relationship to be optional:many with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:many without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:required with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:required without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:optional with a navigation property on the other side of the relationship.
The entity type being configured will be the dependent and contain a foreign key to the principal.
The entity type that the relationship targets will be the principal in the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:optional without a navigation property on the other side of the relationship.
The entity type being configured will be the dependent and contain a foreign key to the principal.
The entity type that the relationship targets will be the principal in the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:optional with a navigation property on the other side of the relationship.
The entity type being configured will be the principal in the relationship.
The entity type that the relationship targets will be the dependent and contain a foreign key to the principal.
A lambda expression representing the navigation property on the other end of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be optional:optional without a navigation property on the other side of the relationship.
The entity type being configured will be the principal in the relationship.
The entity type that the relationship targets will be the dependent and contain a foreign key to the principal.
A configuration object that can be used to further configure the relationship.
Convention to process instances of found on properties in the model
Convention to process instances of found on properties in the model.
Convention to process instances of found on navigation properties in the model.
Convention to process instances of found on properties in the model.
Convention to process instances of found on properties in the model.
Convention to process instances of found on primitive properties in the model.
Convention to process instances of found on properties in the model.
Convention to process instances of found on properties in the model.
Convention to process instances of found on types in the model.
Convention to process instances of found on types in the model.
Convention to process instances of found on properties in the model.
Convention to process instances of found on types in the model.
Convention to process instances of found on properties in the model.
Convention to move primary key properties to appear first.
Convention to apply column ordering specified via or the API.
Convention to convert any data types that were explicitly specified, via data annotations or API,
to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention
allows the and API to be case insensitive.
Convention to set a default maximum length of 128 for properties whose type supports length facets.
Convention to set the entity set name to be a pluralized version of the entity type name.
This class provide service for both the singularization and pluralization, it takes the word pairs
in the ctor following the rules that the first one is singular and the second one is plural.
Factory method for PluralizationService. Only support english pluralization.
Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator
to extend the service to other locales.
CultureInfo
PluralizationService
captalize the return word if the parameter is capitalized
if word is "Table", then return "Tables"
separate one combine word in to two parts, prefix word and the last word(suffix word)
return true when the word is "[\s]*" or leading or tailing with spaces
or contains non alphabetical characters
This method allow you to add word to internal PluralizationService of English.
If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown.
Convention to set the table name to be a pluralized version of the entity type name.
Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship.
Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property.
Convention to detect primary key properties.
Recognized naming patterns in order of precedence are:
1. 'Id'
2. [type name]Id
Primary key detection is case insensitive.
Handles mapping from a CLR property to an EDM assocation and nav. prop.
True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known
Exception thrown by during model creation when an invalid model is generated.
Initializes a new instance of ModelValidationException
Initializes a new instance of ModelValidationException
The exception message.
Initializes a new instance of ModelValidationException
The exception message.
The inner exception.
Convention to detect navigation properties to be inverses of each other when only one pair
of navigation properties exists between the related types.
Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties.
Convention to discover foreign key properties whose names are a combination
of the dependent navigation property name and the principal type primary key property name(s).
Allows configuration to be performed for an entity type in a model.
An EntityTypeConfiguration can be obtained via the Entity method on
or a custom type derived from EntityTypeConfiguration
can be registered via the Configurations property on .
Initializes a new instance of EntityTypeConfiguration
Configures the primary key property(s) for this entity type.
The type of the key.
A lambda expression representing the property to be used as the primary key.
C#: t => t.Id
VB.Net: Function(t) t.Id
If the primary key is made up of multiple properties then specify an anonymous type including the properties.
C#: t => new { t.Id1, t.Id2 }
VB.Net: Function(t) New From { t.Id1, t.Id2 }
The same EntityTypeConfiguration instance so that multiple calls can be chained.
Configures the entity set name to be used for this entity type.
The entity set name can only be configured for the base type in each set.
The name of the entity set.
The same EntityTypeConfiguration instance so that multiple calls can be chained.
Configures the table name that this entity type is mapped to.
The name of the table.
Configures the table name that this entity type is mapped to.
The name of the table.
The database schema of the table.
Allows advanced configuration related to how this entity type is mapped to the database schema.
By default, any configuration will also apply to any type derived from this entity type.
Derived types can be configured via the overload of Map that configures a derived type or
by using an EntityTypeConfiguration for the derived type.
The properties of an entity can be split between multiple tables using multiple Map calls.
Calls to Map are additive, subsequent calls will not override configuration already preformed via Map.
An action that performs configuration against an .
The same EntityTypeConfiguration instance so that multiple calls can be chained.
Allows advanced configuration related to how a derived entity type is mapped to the database schema.
Calls to Map are additive, subsequent calls will not override configuration already preformed via Map.
The derived entity type to be configured.
An action that performs configuration against an .
The same EntityTypeConfiguration instance so that multiple calls can be chained.
Configures an optional relationship from this entity type.
Instances of the entity type will be able to be saved to the database without this relationship being specified.
The foreign key in the database will be nullable.
The type of the entity at the other end of the relationship.
A lambda expression representing the navigation property for the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures a required relationship from this entity type.
Instances of the entity type will not be able to be saved to the database unless this relationship is specified.
The foreign key in the database will be non-nullable.
The type of the entity at the other end of the relationship.
A lambda expression representing the navigation property for the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures a many relationship from this entity type.
The type of the entity at the other end of the relationship.
A lambda expression representing the navigation property for the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
DbModelBuilder is used to map CLR classes to a database schema.
This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'.
DbModelBuilder is typically used to configure a model by overriding .
You can also use DbModelBuilder independently of DbContext to build a model and then construct a
or .
The recommended approach, however, is to use OnModelCreating in as
the workflow is more intuitive and takes care of common tasks, such as caching the created model.
Types that form your model are registered with DbModelBuilder and optional configuration can be
performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder
API.
When the Build method is called a set of conventions are run to discover the initial model.
These conventions will automatically discover aspects of the model, such as primary keys, and
will also process any data annotations that were specified on your classes. Finally
any configuration that was performed using the DbModelBuilder API is applied.
Configuration done via the DbModelBuilder API takes precedence over data annotations which
in turn take precedence over the default conventions.
Initializes a new instance of the class.
The process of discovering the initial model will use the set of conventions included
in the most recent version of the Entity Framework installed on your machine.
Upgrading to newer versions of the Entity Framework may cause breaking changes
in your application because new conventions may cause the initial model to be
configured differently. There is an alternate constructor that allows a specific
version of conventions to be specified.
Initializes a new instance of the class that will use
a specific set of conventions to discover the initial model.
The version of conventions to be used.
Excludes a type from the model. This is used to remove types from the model that were added
by convention during initial model discovery.
The type to be excluded.
The same DbModelBuilder instance so that multiple calls can be chained.
Excludes a type(s) from the model. This is used to remove types from the model that were added
by convention during initial model discovery.
The types to be excluded from the model.
The same DbModelBuilder instance so that multiple calls can be chained.
Registers an entity type as part of the model and returns an object that can be used to
configure the entity. This method can be called multiple times for the same entity to
perform multiple lines of configuration.
The type to be registered or configured.
The configuration object for the specified entity type.
Registers a type as an entity in the model and returns an object that can be used to
configure the entity. This method can be called multiple times for the same type to
perform multiple lines of configuration.
The type to be registered or configured.
The configuration object for the specified entity type.
Registers a type as a complex type in the model and returns an object that can be used to
configure the complex type. This method can be called multiple times for the same type to
perform multiple lines of configuration.
The type to be registered or configured.
The configuration object for the specified complex type.
Creates a based on the configuration performed using this builder.
The connection is used to determine the database provider being used as this
affects the database layer of the generated model.
Connection to use to determine provider information.
The model that was built.
Creates a based on the configuration performed using this builder.
Provider information must be specified because this affects the database layer of the generated model.
For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.)
The database provider that the model will be used with.
The model that was built.
Provides access to the settings of this DbModelBuilder that deal with conventions.
Gets the for this DbModelBuilder.
The registrar allows derived entity and complex type configurations to be registered with this builder.
Convention to enable cascade delete for any required relationships.
Convention to discover foreign key properties whose names match the principal type primary key property name(s).
Convention to configure integer primary keys to be identity.
Convention to discover foreign key properties whose names are a combination
of the principal type name and the principal type primary key property name(s).
Attempt to determine the principal and dependent ends of this association.
The following table illustrates the solution space.
Source | Target || Prin | Dep |
-------|--------||-------|-------|
1 | 1 || - | - |
1 | 0..1 || Sr | Ta |
1 | * || Sr | Ta |
0..1 | 1 || Ta | Sr |
0..1 | 0..1 || - | - |
0..1 | * || Sr | Ta |
* | 1 || Ta | Sr |
* | 0..1 || Ta | Sr |
* | * || - | - |
Configures an required relationship from an entity type.
The entity type that the relationship originates from.
The entity type that the relationship targets.
Configures the relationship to be required:many with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:many without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:optional with a navigation property on the other side of the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:optional without a navigation property on the other side of the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:required with a navigation property on the other side of the relationship.
The entity type being configured will be the dependent and contain a foreign key to the principal.
The entity type that the relationship targets will be the principal in the relationship.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:required without a navigation property on the other side of the relationship.
The entity type being configured will be the dependent and contain a foreign key to the principal.
The entity type that the relationship targets will be the principal in the relationship.
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:required with a navigation property on the other side of the relationship.
The entity type being configured will be the principal in the relationship.
The entity type that the relationship targets will be the dependent and contain a foreign key to the principal.
An lambda expression representing the navigation property on the other end of the relationship.
C#: t => t.MyProperty
VB.Net: Function(t) t.MyProperty
A configuration object that can be used to further configure the relationship.
Configures the relationship to be required:required without a navigation property on the other side of the relationship.
The entity type being configured will be the principal in the relationship.
The entity type that the relationship targets will be the dependent and contain a foreign key to the principal.
A configuration object that can be used to further configure the relationship.
Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions
so we can throw the correct exceptions. It also means that we can write preconditions using the
simplest Contract.Requires() form.
Returns true if a variable of this type can be assigned a null value
True if a reference type or a nullable value type,
false otherwise
Exception thrown from when validating entities fails.
Initializes a new instance of DbEntityValidationException
Initializes a new instance of DbEntityValidationException
The exception message.
Initializes a new instance of DbEntityValidationException
The exception message.
Validation results.
Initializes a new instance of DbEntityValidationException
The exception message.
The inner exception.
Initializes a new instance of DbEntityValidationException
The exception message.
Validation results.
The inner exception.
Subscribes the SerializeObjectState event.
Validation results.
Holds exception state that will be serialized when the exception is serialized.
Validation results.
Completes the deserialization.
The deserialized object.
Validation results.
Represents validation results for single entity.
Entity entry the results applies to. Never null.
List of instances. Never null. Can be empty meaning the entity is valid.
Creates an instance of class.
Entity entry the results applies to. Never null.
List of instances. Never null. Can be empty meaning the entity is valid.
Creates an instance of class.
Entity entry the results applies to. Never null.
List of instances. Never null. Can be empty meaning the entity is valid.
Gets an instance of the results applies to.
Gets validation errors. Never null.
Gets an indicator if the entity is valid.
Validation error. Can be either entity or property level validation error.
Name of the invalid property. Can be null (e.g. for entity level validations)
Validation error message.
Creates an instance of .
Name of the invalid property. Can be null.
Validation error message. Can be null.
Gets name of the invalid property.
Gets validation error message.
Denotes a property used as a foreign key in a relationship.
The annotation may be placed on the foreign key property and specify the associated navigation property name,
or placed on a navigation property and specify the associated foreign key name.
Initializes a new instance of the class.
If placed on a foreign key property, the name of the associated navigation property.
If placed on a navigation property, the name of the associated foreign key(s).
If a navigation property has multiple foreign keys, a comma separated list should be supplied.
If placed on a foreign key property, the name of the associated navigation property.
If placed on a navigation property, the name of the associated foreign key(s).
Specifies the inverse of a navigation property that represents the other end of the same relationship.
Initializes a new instance of the class.
The navigation property representing the other end of the same relationship.
The navigation property representing the other end of the same relationship.
Specifies the database column that a property is mapped to.
Initializes a new instance of the class.
Initializes a new instance of the class.
The name of the column the property is mapped to.
The name of the column the property is mapped to.
The zero-based order of the column the property is mapped to.
The database provider specific data type of the column the property is mapped to.
Specifies the maximum length of array/string data allowed in a property.
Initializes a new instance of the class.
The maximum allowable length of array/string data.
Value must be greater than zero.
Initializes a new instance of the class.
The maximum allowable length supported by the database will be used.
Determines whether a specified object is valid. (Overrides )
This method returns true if the is null.
It is assumed the is used if the value may not be null.
The object to validate.
true if the value is null or less than or equal to the specified maximum length, otherwise false
Length is zero or less than negative one.
Applies formatting to a specified error message. (Overrides )
The name to include in the formatted string.
A localized string to describe the maximum acceptable length.
Checks that Length has a legal value. Throws InvalidOperationException if not.
Gets the maximum allowable length of the array/string data.
Specifies the minimum length of array/string data allowed in a property.
Initializes a new instance of the class.
The minimum allowable length of array/string data.
Value must be greater than or equal to zero.
Determines whether a specified object is valid. (Overrides )
This method returns true if the is null.
It is assumed the is used if the value may not be null.
The object to validate.
true if the value is null or greater than or equal to the specified minimum length, otherwise false
Length is less than zero.
Applies formatting to a specified error message. (Overrides )
The name to include in the formatted string.
A localized string to describe the minimum acceptable length.
Checks that Length has a legal value. Throws InvalidOperationException if not.
Gets the minimum allowable length of the array/string data.
Specifies how the database generates values for a property.
Initializes a new instance of the class.
The pattern used to generate values for the property in the database.
The pattern used to generate values for the property in the database.
The pattern used to generate values for a property in the database.
The database does not generate values.
The database generates a value when a row is inserted.
The database generates a value when a row is inserted or updated.
Denotes that a property or class should be excluded from database mapping.
Denotes that the class is a complex type.
Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities.
Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object.
Specifies the database table that a class is mapped to.
Initializes a new instance of the class.
The name of the table the class is mapped to.
The name of the table the class is mapped to.
The schema of the table the class is mapped to.
Constructs a new sys description.
description text.
Retrieves the description text.
description
AutoGenerated resource class. Usage:
string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier);
Constructs a new sys description.
description text.
Retrieves the description text.
description
AutoGenerated resource class. Usage:
string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier);
Constructs a new sys description.
description text.
Retrieves the description text.
description
AutoGenerated resource class. Usage:
string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier);
Constructs a new sys description.
description text.
Retrieves the description text.
description
AutoGenerated resource class. Usage:
string s = EntityRes.GetString(EntityRes.MyIdenfitier);