Difference in Components
Both Types of views have some common components like ViewAttribute and DesignTime .Updatable View uses Underlying Entity objects where as Read only view doesn't require any underlying Entity Object as it uses SQL Query. Below snap shows the difference between an Updatable view based on "ExpertiseAreas" database object and a read only view for same (ExpertiseAreas) object from its component's stand point.
DesignTime components are common in both types of view but <Attr> is having different values.
Updatable View | Read Only View |
<DesignTime> <Attr Name="_codeGenFlag2" Value="Access|VarAccess"/> </DesignTime> | <DesignTime> <Attr Name="_isExpertMode" Value="true"/> </DesignTime> |
Updatable View uses Underlying Entity objects where as Read only view doesn't require any underlying Entity Object as it uses SQL Query.
Updatable View | Read Only View |
<EntityUsage Name="ExpertiesAreas" Entity="model.ExpertiesAreas"/> |
<![CDATA[SELECT ExpertiesAreas.PROD_ID, ExpertiesAreas.USER_ID, ExpertiesAreas.EXPERTISE_LEVEL, ExpertiesAreas.NOTES FROM EXPERTISE_AREAS ExpertiesAreas]]> </SQLQuery> |
As it is a read only view it contains two attributes IsUpdateable and IsPersistent and their value is set to false. Updatable view have EntityAttrName and EntityUsage as it is dependent on underlying entity Objects to represent a column where as Read Only View is using Type, ColumnType, Expression and SQLType to represent same. Please refer below table where an Updatable View having column ProdId represents it and same thing is represented in Read Only View.
Updatable View | Read Only View |
<ViewAttribute Name="ProdId" IsNotNull="true" PrecisionRule="true"
EntityUsage="ExpertiesAreas" AliasName="PROD_ID"> </ViewAttribute> | <ViewAttribute Name="ProdId" IsNotNull="true" PrecisionRule="true"
IsPersistent="false"
ColumnType="NUMBER" AliasName="PROD_ID"
SQLType="NUMERIC"> <DesignTime> <Attr Name="_DisplaySize" Value="22"/> </DesignTime> </ViewAttribute> |
No comments:
Post a Comment