0

I'm comparing the CLR functions from a pair of SSDT projects to a database. The only difference shown in the comparison is on two properties: IsDeterministic and DataAccess

The compare shows that the project has a NULL value for these properties, while the database shows the properties equal to false and 0, respectively.

The actual C# code for the functions does assign values to these properties. After updating the database and re-running the compare, the differences still show up.

How do I make the database compare exclude these differences?

or

How do I make the SSDT projects recognize the properties in the C# code when comparing?

I use this tool to generate change scripts, and it makes the process very difficult when I have to exclude these objects everytime.

My solution contains two projects- one with the C# code for the CLR assembly (with 'Generate DLL turned off), and the other with the T-SQL objects, including the DLL for the functions.

  • 2
    Not too much experience to share here but sounds to me like a bug in the product, or an anomaly at least. If those properties are in the model then the comparison should pick them up. Maybe look inside the outputted dacpac at Model.Xml to see if those properties are defined in the model. – jamiet Mar 26 '14 at 20:25
  • I looked in the Model.xml file and these properties are not defined there. They are in the C# code: [SqlFunction(IsDeterministic = true, DataAccess = DataAccessKind.None)] – msgisme Mar 27 '14 at 17:06
  • I'm able to get the compare working by moving all the code to one project. This isn't what I was hoping to do, but I think it will be our best option until this is fixed. – msgisme Mar 31 '14 at 16:10
  • Schema Compare compares the bytes of the assemblies; it doesn't examine the source code. – Jon Seigel May 12 '14 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.