anchor.diff:      /// An EntityProperty array with all properties which have a bad ConcurrencyMode
       /// setting.
       member o.BadConcurrencyModes(assembly : Assembly, edmxName : string) =
  -        let csdl = o.GetXDocument(assembly, edmxName + ".csdl")
  -        let ssdl = o.GetXDocument(assembly, edmxName + ".ssdl")
  +        let csdl = o.GetXDocument(assembly, edmxName + ".csdl").Root
  +        let ssdl = o.GetXDocument(assembly, edmxName + ".ssdl").Root
           o.BadConcurrencyModes(csdl, ssdl)
   
   
  
positive.code:     /// An EntityProperty array with all properties which have a bad ConcurrencyMode
      /// setting.
      member o.BadConcurrencyModes(csdlDocument : XDocument, ssdlDocument : XDocument) =
          let csdlNs = "http://schemas.microsoft.com/ado/2009/11/edm"
          let ssdlNs = "http://schemas.microsoft.com/ado/2009/11/edm/ssdl"
  
          let filterProperties (xDoc : XDocument) namespace_ filter = 
              set [for ent in xDoc.Root.Elements(XName.Get("EntityType", namespace_)) do
                      let tableName = ent.Attribute(XName.Get("Name")).Value
                      let props = ent.Elements(XName.Get("Property", namespace_))
                                     .Where(fun p -> filter p)
                      yield! [for p in props -> (tableName, p.Attribute(XName.Get("Name")).Value)]
                  ]
  
          // Make a set of all concurrency checked fields from CSDL.
          let isConcurrent (property : XElement) =
              let cMode = property.Attribute(XName.Get("ConcurrencyMode"))
              cMode <> null && cMode.Value <> "None"
          let csdlConcurrentFields = filterProperties csdlDocument csdlNs isConcurrent
      
          // Make a set of all ROWVERSION fields from SSDL.
          let isRowVersion (property : XElement) =
              let propType = property.Attribute(XName.Get("Type")).Value
              o.RowVersionTypes |> Array.exists ((=) propType)
  
          let ssdlRowVersionedFields = filterProperties ssdlDocument ssdlNs isRowVersion
  
          ssdlRowVersionedFields - csdlConcurrentFields
          |> Seq.map (fun (e, p) -> { Entity = e; Property = p })
          |> Seq.toArray
  
  
      /// Find bad ConcurrencyMode settings in a single EDMX file embedded as a resource in an
  
negative.code:         sb.ToString()
  
  
      member private __.GetXDocument(assembly : Assembly, resourceName : string) : XDocument =
          use stream = assembly.GetManifestResourceStream(resourceName)
          use reader = new IO.StreamReader(stream)
          let xmlText = reader.ReadToEnd()
  