public String SsdlPropType(Column dbc) { return SsdlPropType(dbc.ColumnType); }
private void Addfkc(XElement csdlSchema, ForeignKey dbfk, Column dbfkc, Column dbfkc2, bool isMulti, String multiplicity , XElement ssdlAssociationSet, XElement ssdlAssociation, XElement ssdlReferentialConstraint , XElement csdlAssociationSet, XElement csdlAssociation, XElement csdlReferentialConstraint ) { // ssdl var ssdlasEnd = new XElement(xSSDL + "End" , new XAttribute("Role", nut.SsdlEntitySet(dbfkc.Parent)) , new XAttribute("EntitySet", nut.SsdlEntitySet(dbfkc.Parent)) ); ssdlAssociationSet.Add(ssdlasEnd); var ssdlaEnd = new XElement(xSSDL + "End" , new XAttribute("Role", nut.SsdlEntitySet(dbfkc.Parent)) , new XAttribute("Type", nut.SsdlEntityTypeRef(dbfkc.Parent)) , new XAttribute("Multiplicity", multiplicity) ); ssdlAssociation.Add(ssdlaEnd); var ssdlarc = new XElement(xSSDL + (isMulti ? "Dependent" : "Principal") , new XAttribute("Role", nut.SsdlEntitySet(dbfkc.Parent)) ); ssdlReferentialConstraint.Add(ssdlarc); var ssdlPropertyRef = new XElement(xSSDL + "PropertyRef" , new XAttribute("Name", nut.SsdlProp(dbfkc)) ); ssdlarc.Add(ssdlPropertyRef); // csdl var csdlasEnd = new XElement(xCSDL + "End" , new XAttribute("Role", nut.CsdlEntitySet(dbfkc.Parent)) , new XAttribute("EntitySet", nut.CsdlEntitySet(dbfkc.Parent)) ); csdlAssociationSet.Add(csdlasEnd); var csdlaEnd = new XElement(xCSDL + "End" , new XAttribute("Role", nut.CsdlEntitySet(dbfkc.Parent)) , new XAttribute("Type", nut.CsdlEntityTypeRef(dbfkc.Parent)) , new XAttribute("Multiplicity", multiplicity) ); csdlAssociation.Add(csdlaEnd); var csdlarc = new XElement(xCSDL + (isMulti ? "Dependent" : "Principal") , new XAttribute("Role", nut.CsdlEntitySet(dbfkc.Parent)) ); csdlReferentialConstraint.Add(csdlarc); var csdlPropertyRef = new XElement(xCSDL + "PropertyRef" , new XAttribute("Name", nut.CsdlProp(dbfkc)) ); csdlarc.Add(csdlPropertyRef); var csdlNavigationProperty = new XElement(xCSDL + "NavigationProperty" , new XAttribute("Name", nut.CsdlEntityType(dbfkc.Parent)) , new XAttribute("Relationship", nut.CsdlAssociationRef(dbfk.Constraint)) , new XAttribute("FromRole", nut.CsdlEntityType(dbfkc2.Parent)) , new XAttribute("ToRole", nut.CsdlEntityType(dbfkc.Parent)) ); var csdlEntityType = csdlSchema.Elements(xCSDL + "EntityType") .Where(p => p.Attribute("Name").Value == nut.CsdlEntityType(dbfkc2.Parent)) .FirstOrDefault(); if (csdlEntityType != null) { csdlEntityType.Add(csdlNavigationProperty); } }
public String SsdlProp(Column dbc) { return dbc.Name; }
public String CsdlProp(Column dbc) { return TSimpleIdentifier(dbc.Name, "Column"); }
public static Column CreateColumn(string id, string name, int ordinal, bool isNullable, TypeSpecification columnType, bool isIdentity, bool isStoreGenerated) { Column column = new Column(); column.Id = id; column.Name = name; column.Ordinal = ordinal; column.IsNullable = isNullable; column.ColumnType = StructuralObject.VerifyComplexObjectIsNotNull(columnType, "ColumnType"); column.IsIdentity = isIdentity; column.IsStoreGenerated = isStoreGenerated; return column; }
public void AddToViewColumns(Column column) { base.AddObject("ViewColumns", column); }
public void AddToTableColumns(Column column) { base.AddObject("TableColumns", column); }