diff --git a/EFCore.Runtime.sln b/EFCore.Runtime.sln
new file mode 100644
index 00000000000..530872a1c45
--- /dev/null
+++ b/EFCore.Runtime.sln
@@ -0,0 +1,144 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26724.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore", "src\EFCore\EFCore.csproj", "{715C38E9-B2F5-4DB2-8025-0C6492DEBDD4}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{258D5057-81B9-40EC-A872-D21E27452749}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.InMemory", "src\EFCore.InMemory\EFCore.InMemory.csproj", "{6B102CC4-4396-4A7B-9F72-2C6B5C4D8310}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Relational", "src\EFCore.Relational\EFCore.Relational.csproj", "{6A25DF99-2615-46D8-9532-821764647EE1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite.Core", "src\EFCore.Sqlite.Core\EFCore.Sqlite.Core.csproj", "{A257C01B-BB91-44BA-831C-1E04F7800AC8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.SqlServer", "src\EFCore.SqlServer\EFCore.SqlServer.csproj", "{99595B81-D47C-40BA-8C61-5328A5A0E4AB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.CrossStore.FunctionalTests", "test\EFCore.CrossStore.FunctionalTests\EFCore.CrossStore.FunctionalTests.csproj", "{7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.InMemory.FunctionalTests", "test\EFCore.InMemory.FunctionalTests\EFCore.InMemory.FunctionalTests.csproj", "{305B30D3-0E30-46E9-BA9D-060E0B79BE98}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.InMemory.Tests", "test\EFCore.InMemory.Tests\EFCore.InMemory.Tests.csproj", "{AB8D4BD7-8AB6-4004-AF21-32790EED93BC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Relational.Tests", "test\EFCore.Relational.Tests\EFCore.Relational.Tests.csproj", "{1A884122-DC9E-42B1-8821-E43340F954D1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite.FunctionalTests", "test\EFCore.Sqlite.FunctionalTests\EFCore.Sqlite.FunctionalTests.csproj", "{7BB7D051-56D7-4A40-A29E-3801F5C19239}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite.Tests", "test\EFCore.Sqlite.Tests\EFCore.Sqlite.Tests.csproj", "{7E436D99-82A6-496C-A725-0819CBED056D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.SqlServer.FunctionalTests", "test\EFCore.SqlServer.FunctionalTests\EFCore.SqlServer.FunctionalTests.csproj", "{87AB43B7-767B-467B-9AA9-47BADF850D6A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.SqlServer.Tests", "test\EFCore.SqlServer.Tests\EFCore.SqlServer.Tests.csproj", "{7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Tests", "test\EFCore.Tests\EFCore.Tests.csproj", "{313F46FE-9962-4A15-805F-FCBDF5A6181E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Specification.Tests", "src\EFCore.Specification.Tests\EFCore.Specification.Tests.csproj", "{1A73D95E-E8B5-4F96-908C-7B040E4F7AFE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Relational.Specification.Tests", "src\EFCore.Relational.Specification.Tests\EFCore.Relational.Specification.Tests.csproj", "{07FA2B15-A6A5-4292-A096-7771FB32EEDA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite", "src\EFCore.Sqlite\EFCore.Sqlite.csproj", "{6FF0B963-0544-4428-8AE1-5A71872B55AD}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {715C38E9-B2F5-4DB2-8025-0C6492DEBDD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {715C38E9-B2F5-4DB2-8025-0C6492DEBDD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {715C38E9-B2F5-4DB2-8025-0C6492DEBDD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {715C38E9-B2F5-4DB2-8025-0C6492DEBDD4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6B102CC4-4396-4A7B-9F72-2C6B5C4D8310}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B102CC4-4396-4A7B-9F72-2C6B5C4D8310}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6B102CC4-4396-4A7B-9F72-2C6B5C4D8310}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6B102CC4-4396-4A7B-9F72-2C6B5C4D8310}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A25DF99-2615-46D8-9532-821764647EE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A25DF99-2615-46D8-9532-821764647EE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A25DF99-2615-46D8-9532-821764647EE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A25DF99-2615-46D8-9532-821764647EE1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A257C01B-BB91-44BA-831C-1E04F7800AC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A257C01B-BB91-44BA-831C-1E04F7800AC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A257C01B-BB91-44BA-831C-1E04F7800AC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A257C01B-BB91-44BA-831C-1E04F7800AC8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {99595B81-D47C-40BA-8C61-5328A5A0E4AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {99595B81-D47C-40BA-8C61-5328A5A0E4AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {99595B81-D47C-40BA-8C61-5328A5A0E4AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {99595B81-D47C-40BA-8C61-5328A5A0E4AB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {305B30D3-0E30-46E9-BA9D-060E0B79BE98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {305B30D3-0E30-46E9-BA9D-060E0B79BE98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {305B30D3-0E30-46E9-BA9D-060E0B79BE98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {305B30D3-0E30-46E9-BA9D-060E0B79BE98}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AB8D4BD7-8AB6-4004-AF21-32790EED93BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AB8D4BD7-8AB6-4004-AF21-32790EED93BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AB8D4BD7-8AB6-4004-AF21-32790EED93BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AB8D4BD7-8AB6-4004-AF21-32790EED93BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1A884122-DC9E-42B1-8821-E43340F954D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1A884122-DC9E-42B1-8821-E43340F954D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1A884122-DC9E-42B1-8821-E43340F954D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1A884122-DC9E-42B1-8821-E43340F954D1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7BB7D051-56D7-4A40-A29E-3801F5C19239}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7BB7D051-56D7-4A40-A29E-3801F5C19239}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7BB7D051-56D7-4A40-A29E-3801F5C19239}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7BB7D051-56D7-4A40-A29E-3801F5C19239}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E436D99-82A6-496C-A725-0819CBED056D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E436D99-82A6-496C-A725-0819CBED056D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E436D99-82A6-496C-A725-0819CBED056D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E436D99-82A6-496C-A725-0819CBED056D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87AB43B7-767B-467B-9AA9-47BADF850D6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87AB43B7-767B-467B-9AA9-47BADF850D6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87AB43B7-767B-467B-9AA9-47BADF850D6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87AB43B7-767B-467B-9AA9-47BADF850D6A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {313F46FE-9962-4A15-805F-FCBDF5A6181E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {313F46FE-9962-4A15-805F-FCBDF5A6181E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {313F46FE-9962-4A15-805F-FCBDF5A6181E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {313F46FE-9962-4A15-805F-FCBDF5A6181E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1A73D95E-E8B5-4F96-908C-7B040E4F7AFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1A73D95E-E8B5-4F96-908C-7B040E4F7AFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1A73D95E-E8B5-4F96-908C-7B040E4F7AFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1A73D95E-E8B5-4F96-908C-7B040E4F7AFE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {07FA2B15-A6A5-4292-A096-7771FB32EEDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {07FA2B15-A6A5-4292-A096-7771FB32EEDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {07FA2B15-A6A5-4292-A096-7771FB32EEDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {07FA2B15-A6A5-4292-A096-7771FB32EEDA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6FF0B963-0544-4428-8AE1-5A71872B55AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6FF0B963-0544-4428-8AE1-5A71872B55AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6FF0B963-0544-4428-8AE1-5A71872B55AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6FF0B963-0544-4428-8AE1-5A71872B55AD}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {715C38E9-B2F5-4DB2-8025-0C6492DEBDD4} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ {6B102CC4-4396-4A7B-9F72-2C6B5C4D8310} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ {6A25DF99-2615-46D8-9532-821764647EE1} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ {A257C01B-BB91-44BA-831C-1E04F7800AC8} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ {99595B81-D47C-40BA-8C61-5328A5A0E4AB} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ {7EAC2B8E-4AF6-40D2-95C0-A6662762A7E0} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {305B30D3-0E30-46E9-BA9D-060E0B79BE98} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {AB8D4BD7-8AB6-4004-AF21-32790EED93BC} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {1A884122-DC9E-42B1-8821-E43340F954D1} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {7BB7D051-56D7-4A40-A29E-3801F5C19239} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {7E436D99-82A6-496C-A725-0819CBED056D} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {87AB43B7-767B-467B-9AA9-47BADF850D6A} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {7D1C4E40-0DE6-4C50-AB84-CA8647EA92DF} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {313F46FE-9962-4A15-805F-FCBDF5A6181E} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {1A73D95E-E8B5-4F96-908C-7B040E4F7AFE} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {07FA2B15-A6A5-4292-A096-7771FB32EEDA} = {258D5057-81B9-40EC-A872-D21E27452749}
+ {6FF0B963-0544-4428-8AE1-5A71872B55AD} = {CE6B50B2-34AE-44C9-940A-4E48C3E1B3BC}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {EC8BCF1F-A206-4420-A292-3E3F2A4CDC54}
+ EndGlobalSection
+EndGlobal
diff --git a/build/repo.props b/build/repo.props
index 345d782fc51..31b48d6ade8 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -9,6 +9,7 @@
+