Insert Entity Stored Procedure Attribute Class
This attribute is used to specify the stored procedure used to insert entities for the associated type
Definition
Namespace: EWSoftware.EntityFramework.DataAnnotations
Assembly: EWSoftware.EntityFramework (in EWSoftware.EntityFramework.dll) Version: 2025.11.12.0
Assembly: EWSoftware.EntityFramework (in EWSoftware.EntityFramework.dll) Version: 2025.11.12.0
C#
public sealed class InsertEntityStoredProcedureAttribute : StoredProcedureAttributeVB
Public NotInheritable Class InsertEntityStoredProcedureAttribute
Inherits StoredProcedureAttributeC++
public ref class InsertEntityStoredProcedureAttribute sealed : public StoredProcedureAttributeF#
[<SealedAttribute>]
type InsertEntityStoredProcedureAttribute =
class
inherit StoredProcedureAttribute
end- Inheritance
- Object Attribute StoredProcedureAttribute InsertEntityStoredProcedureAttribute
Remarks
The stored procedure must have one or more parameters representing all of the properties
on the entity type except those marked with an IgnoreAttribute for inserts. It should
not return a value or a result set. Parameters related to properties that are part of the primary key
or are marked with the TimestampAttribute are defined as input/out parameters. All
other parameters are input only.
Example
C#
[LoadByKeyStoredProcedure("spProductInfo"), InsertEntityStoredProcedure("spProductAddUpdate"),
UpdateEntityStoredProcedure("spProductAddUpdate"), DeleteEntityStoredProcedure("spProductDelete")]
public sealed class ProductInfo : ChangeTrackingEntity
{
// The primary key
[Key]
public int ProductID
{
get;
set => this.SetWithNotify(value, ref field);
}
// Product name
public string? ProductName
{
get;
set => this.SetWithNotify(value, ref field);
}
...
}
// Example Load By Key usage:
using var dataContext = new DemoDatabaseDataContext();
var productInfo = dc.LoadByKey<ProductInfo>(productID).Single();
// Add a new entity
var newProduct = new ProductInfo { ProductName = "New Product" };
dataContext.InsertEntity(newProduct);
// Update an existing entity
productInfo.ProductName = "Updated Product";
dataContext.UpdateEntity(productInfo);
// Delete an entity
dataContext.DeleteEntity(productInfo);
// Since change tracking is enabled, we could also have just submitted the changes:
// dataContext.SubmitChanges<ProductInfo>();Constructors
| InsertEntityStoredProcedureAttribute | Initialize a new instance of the attribute using the given stored procedure name |
Properties
| ParameterNamePrefix |
This can be used to define an optional parameter name prefix that will be applied to all stored
procedure parameters.
(Inherited from StoredProcedureAttribute) |
| StoredProcedureName |
This read-only property returns the name of the stored procedure to execute when loading entities
(Inherited from StoredProcedureAttribute) |
| TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute) |
Methods
| Equals | Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute) |
| GetHashCode | Returns the hash code for this instance. (Inherited from Attribute) |
| GetType | Gets the Type of the current instance. (Inherited from Object) |
| IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute) |
| Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
Extension Methods
| ToNullableT |
This is used to convert objects to null values if they are equal to null,
DBNull.Value, or the default value for the given type.
(Defined by DatabaseExtensions) |
| ToStringOrNull |
This is used to convert an object to a string and return either the string value if not empty, or
null if it is an empty string.
(Defined by DatabaseExtensions) |