C#: Change nHibernate stub to nuget-based one

This commit is contained in:
Tamas Vajk
2021-06-18 16:09:24 +02:00
parent 1188e1b678
commit f352bcb0a3
19 changed files with 40247 additions and 74 deletions

View File

@@ -1,2 +1,2 @@
| nhibernate.cs:50:14:50:19 | access to property Name | Data flow from $@. | nhibernate.cs:45:24:45:32 | "tainted" | "tainted" |
| nhibernate.cs:55:14:55:23 | access to property Address | Data flow from $@. | nhibernate.cs:45:24:45:32 | "tainted" | "tainted" |
| nhibernate.cs:50:18:50:23 | access to property Name | Data flow from $@. | nhibernate.cs:45:28:45:36 | "tainted" | "tainted" |
| nhibernate.cs:55:18:55:27 | access to property Address | Data flow from $@. | nhibernate.cs:45:28:45:36 | "tainted" | "tainted" |

View File

@@ -1,2 +1,2 @@
| nhibernate.cs:16:9:16:26 | object creation of type SqlString |
| nhibernate.cs:17:9:17:27 | call to method Delete |
| nhibernate.cs:16:13:16:30 | object creation of type SqlString |
| nhibernate.cs:17:13:17:31 | call to method Delete |

View File

@@ -2,4 +2,5 @@ import csharp
import semmle.code.csharp.frameworks.Sql
from SqlExpr e
where not e.getFile().getAbsolutePath().matches("%/resources/stubs/%")
select e

View File

@@ -1,6 +1,6 @@
| nhibernate.cs:49:14:49:17 | access to property Id |
| nhibernate.cs:50:14:50:19 | access to property Name |
| nhibernate.cs:51:14:51:22 | access to property Address |
| nhibernate.cs:53:14:53:18 | access to property Id |
| nhibernate.cs:54:14:54:19 | access to property Age |
| nhibernate.cs:55:14:55:23 | access to property Address |
| nhibernate.cs:49:18:49:21 | access to property Id |
| nhibernate.cs:50:18:50:23 | access to property Name |
| nhibernate.cs:51:18:51:26 | access to property Address |
| nhibernate.cs:53:18:53:22 | access to property Id |
| nhibernate.cs:54:18:54:23 | access to property Age |
| nhibernate.cs:55:18:55:27 | access to property Address |

View File

@@ -2,4 +2,5 @@ import csharp
import semmle.code.csharp.security.dataflow.flowsources.Stored
from StoredFlowSource source
where not source.getLocation().getFile().getAbsolutePath().matches("%/resources/stubs/%")
select source

View File

@@ -1,4 +1,4 @@
// semmle-extractor-options: /r:System.Data.dll /r:System.ComponentModel.Primitives.dll ${testdir}/../../../resources/stubs/NHibernate.cs ${testdir}/../../../resources/stubs/System.Data.cs /r:System.ComponentModel.TypeConverter.dll /r:System.Data.Common.dll
// semmle-extractor-options: /nostdlib /noconfig --load-sources-from-project:../../../resources/stubs/NHibernate/5.3.8/NHibernate.csproj
using NHibernate;
@@ -6,57 +6,57 @@ using NHibernate.SqlCommand;
namespace NHibernateTest
{
class Test
{
ISession session;
void SqlExprs()
class Test
{
var sql = "sql";
new SqlString(sql); // SQL expression
session.Delete(sql); // SQL expression
}
ISession session;
class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
void SqlExprs()
{
var sql = "sql";
new SqlString(sql); // SQL expression
session.Delete(sql); // SQL expression
}
class Person2
{
public int Id { get; set; }
public int Age { get; set; }
public string Address { get; set; }
}
class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
void FlowSources()
{
session.Query<Person>();
session.Save(new Person2());
}
class Person2
{
public int Id { get; set; }
public int Age { get; set; }
public string Address { get; set; }
}
void DataFlow()
{
var p = new Person();
var p2 = new Person2();
string taint = "tainted";
p.Name = taint;
p2.Address = taint;
void FlowSources()
{
session.Query<Person>();
session.Save(new Person2());
}
Sink(p.Id); // Not tainted
Sink(p.Name); // Tainted
Sink(p.Address); // Not tainted
Sink(p2.Id); // Not tainted
Sink(p2.Age); // Not tainted
Sink(p2.Address); // Tainted
}
void DataFlow()
{
var p = new Person();
var p2 = new Person2();
void Sink(object sink)
{
string taint = "tainted";
p.Name = taint;
p2.Address = taint;
Sink(p.Id); // Not tainted
Sink(p.Name); // Tainted
Sink(p.Address); // Not tainted
Sink(p2.Id); // Not tainted
Sink(p2.Age); // Not tainted
Sink(p2.Address); // Tainted
}
void Sink(object sink)
{
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,90 @@
// This file contains auto-generated code.
namespace Iesi
{
namespace Collections
{
namespace Generic
{
// Generated from `Iesi.Collections.Generic.LinkedHashSet<>` in `Iesi.Collections, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4`
public class LinkedHashSet<T> : System.Collections.IEnumerable, System.Collections.Generic.ISet<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.ICollection<T>
{
void System.Collections.Generic.ICollection<T>.Add(T item) => throw null;
public bool Add(T item) => throw null;
public void Clear() => throw null;
public bool Contains(T item) => throw null;
public void CopyTo(T[] array, int arrayIndex) => throw null;
public int Count { get => throw null; }
public void ExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;
System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator() => throw null;
public void IntersectWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
bool System.Collections.Generic.ICollection<T>.IsReadOnly { get => throw null; }
public bool IsSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public LinkedHashSet(System.Collections.Generic.IEnumerable<T> initialValues) => throw null;
public LinkedHashSet() => throw null;
public bool Overlaps(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool Remove(T item) => throw null;
public bool SetEquals(System.Collections.Generic.IEnumerable<T> other) => throw null;
public void SymmetricExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public void UnionWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
}
// Generated from `Iesi.Collections.Generic.ReadOnlySet<>` in `Iesi.Collections, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4`
public class ReadOnlySet<T> : System.Collections.IEnumerable, System.Collections.Generic.ISet<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.ICollection<T>
{
void System.Collections.Generic.ICollection<T>.Add(T item) => throw null;
bool System.Collections.Generic.ISet<T>.Add(T item) => throw null;
void System.Collections.Generic.ICollection<T>.Clear() => throw null;
public bool Contains(T item) => throw null;
public void CopyTo(T[] array, int arrayIndex) => throw null;
public int Count { get => throw null; }
void System.Collections.Generic.ISet<T>.ExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public System.Collections.Generic.IEnumerator<T> GetEnumerator() => throw null;
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;
void System.Collections.Generic.ISet<T>.IntersectWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsReadOnly { get => throw null; }
public bool IsSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool Overlaps(System.Collections.Generic.IEnumerable<T> other) => throw null;
public ReadOnlySet(System.Collections.Generic.ISet<T> basisSet) => throw null;
bool System.Collections.Generic.ICollection<T>.Remove(T item) => throw null;
public bool SetEquals(System.Collections.Generic.IEnumerable<T> other) => throw null;
void System.Collections.Generic.ISet<T>.SymmetricExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
void System.Collections.Generic.ISet<T>.UnionWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
}
// Generated from `Iesi.Collections.Generic.SynchronizedSet<>` in `Iesi.Collections, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4`
public class SynchronizedSet<T> : System.Collections.IEnumerable, System.Collections.Generic.ISet<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.ICollection<T>
{
void System.Collections.Generic.ICollection<T>.Add(T item) => throw null;
public bool Add(T item) => throw null;
public void Clear() => throw null;
public bool Contains(T item) => throw null;
public void CopyTo(T[] array, int arrayIndex) => throw null;
public int Count { get => throw null; }
public void ExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public System.Collections.Generic.IEnumerator<T> GetEnumerator() => throw null;
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;
public void IntersectWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsProperSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsReadOnly { get => throw null; }
public bool IsSubsetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool IsSupersetOf(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool Overlaps(System.Collections.Generic.IEnumerable<T> other) => throw null;
public bool Remove(T item) => throw null;
public bool SetEquals(System.Collections.Generic.IEnumerable<T> other) => throw null;
public void SymmetricExceptWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
public SynchronizedSet(System.Collections.Generic.ISet<T> basisSet) => throw null;
public void UnionWith(System.Collections.Generic.IEnumerable<T> other) => throw null;
}
}
}
}

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,18 +0,0 @@
namespace NHibernate
{
public interface ISession
{
void Delete(string query);
T Query<T>();
void Save(object obj);
}
namespace SqlCommand
{
public class SqlString
{
public SqlString(string sql) { }
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../System.Configuration.ConfigurationManager/4.4.1/System.Configuration.ConfigurationManager.csproj" />
<ProjectReference Include="../../Remotion.Linq.EagerFetching/2.2.0/Remotion.Linq.EagerFetching.csproj" />
<ProjectReference Include="../../Antlr3.Runtime/3.5.1/Antlr3.Runtime.csproj" />
<ProjectReference Include="../../Remotion.Linq/2.2.0/Remotion.Linq.csproj" />
<ProjectReference Include="../../Iesi.Collections/4.0.4/Iesi.Collections.csproj" />
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,128 @@
// This file contains auto-generated code.
namespace Remotion
{
namespace Linq
{
namespace EagerFetching
{
// Generated from `Remotion.Linq.EagerFetching.FetchFilteringQueryModelVisitor` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchFilteringQueryModelVisitor : Remotion.Linq.QueryModelVisitorBase
{
protected FetchFilteringQueryModelVisitor() => throw null;
protected System.Collections.ObjectModel.ReadOnlyCollection<Remotion.Linq.EagerFetching.FetchQueryModelBuilder> FetchQueryModelBuilders { get => throw null; }
public static Remotion.Linq.EagerFetching.FetchQueryModelBuilder[] RemoveFetchRequestsFromQueryModel(Remotion.Linq.QueryModel queryModel) => throw null;
public override void VisitResultOperator(Remotion.Linq.Clauses.ResultOperatorBase resultOperator, Remotion.Linq.QueryModel queryModel, int index) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.FetchManyRequest` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchManyRequest : Remotion.Linq.EagerFetching.FetchRequestBase
{
public override Remotion.Linq.Clauses.ResultOperatorBase Clone(Remotion.Linq.Clauses.CloneContext cloneContext) => throw null;
public FetchManyRequest(System.Reflection.MemberInfo relationMember) : base(default(System.Reflection.MemberInfo)) => throw null;
protected override void ModifyFetchQueryModel(Remotion.Linq.QueryModel fetchQueryModel) => throw null;
public override void TransformExpressions(System.Func<System.Linq.Expressions.Expression, System.Linq.Expressions.Expression> transformation) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.FetchOneRequest` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchOneRequest : Remotion.Linq.EagerFetching.FetchRequestBase
{
public override Remotion.Linq.Clauses.ResultOperatorBase Clone(Remotion.Linq.Clauses.CloneContext cloneContext) => throw null;
public FetchOneRequest(System.Reflection.MemberInfo relationMember) : base(default(System.Reflection.MemberInfo)) => throw null;
protected override void ModifyFetchQueryModel(Remotion.Linq.QueryModel fetchQueryModel) => throw null;
public override void TransformExpressions(System.Func<System.Linq.Expressions.Expression, System.Linq.Expressions.Expression> transformation) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.FetchQueryModelBuilder` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchQueryModelBuilder
{
public Remotion.Linq.EagerFetching.FetchQueryModelBuilder[] CreateInnerBuilders() => throw null;
public FetchQueryModelBuilder(Remotion.Linq.EagerFetching.FetchRequestBase fetchRequest, Remotion.Linq.QueryModel queryModel, int resultOperatorPosition) => throw null;
public Remotion.Linq.EagerFetching.FetchRequestBase FetchRequest { get => throw null; set => throw null; }
public Remotion.Linq.QueryModel GetOrCreateFetchQueryModel() => throw null;
public int ResultOperatorPosition { get => throw null; set => throw null; }
public Remotion.Linq.QueryModel SourceItemQueryModel { get => throw null; set => throw null; }
}
// Generated from `Remotion.Linq.EagerFetching.FetchRequestBase` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public abstract class FetchRequestBase : Remotion.Linq.Clauses.ResultOperators.SequenceTypePreservingResultOperatorBase
{
public virtual Remotion.Linq.QueryModel CreateFetchQueryModel(Remotion.Linq.QueryModel sourceItemQueryModel) => throw null;
public override Remotion.Linq.Clauses.StreamedData.StreamedSequence ExecuteInMemory<T>(Remotion.Linq.Clauses.StreamedData.StreamedSequence input) => throw null;
protected FetchRequestBase(System.Reflection.MemberInfo relationMember) => throw null;
protected System.Linq.Expressions.Expression GetFetchedMemberExpression(System.Linq.Expressions.Expression source) => throw null;
public Remotion.Linq.EagerFetching.FetchRequestBase GetOrAddInnerFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase fetchRequest) => throw null;
public System.Collections.Generic.IEnumerable<Remotion.Linq.EagerFetching.FetchRequestBase> InnerFetchRequests { get => throw null; }
protected abstract void ModifyFetchQueryModel(Remotion.Linq.QueryModel fetchQueryModel);
public System.Reflection.MemberInfo RelationMember { get => throw null; set => throw null; }
public override string ToString() => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.FetchRequestCollection` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchRequestCollection
{
public FetchRequestCollection() => throw null;
public System.Collections.Generic.IEnumerable<Remotion.Linq.EagerFetching.FetchRequestBase> FetchRequests { get => throw null; }
public Remotion.Linq.EagerFetching.FetchRequestBase GetOrAddFetchRequest(Remotion.Linq.EagerFetching.FetchRequestBase fetchRequest) => throw null;
}
namespace Parsing
{
// Generated from `Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public abstract class FetchExpressionNodeBase : Remotion.Linq.Parsing.Structure.IntermediateModel.ResultOperatorExpressionNodeBase
{
protected FetchExpressionNodeBase(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression), default(System.Linq.Expressions.LambdaExpression)) => throw null;
public System.Reflection.MemberInfo RelationMember { get => throw null; set => throw null; }
public override System.Linq.Expressions.Expression Resolve(System.Linq.Expressions.ParameterExpression inputParameter, System.Linq.Expressions.Expression expressionToBeResolved, Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.FetchManyExpressionNode` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchManyExpressionNode : Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase
{
protected override Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest() => throw null;
public FetchManyExpressionNode(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.FetchOneExpressionNode` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class FetchOneExpressionNode : Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase
{
protected override Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest() => throw null;
public FetchOneExpressionNode(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.OuterFetchExpressionNodeBase` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public abstract class OuterFetchExpressionNodeBase : Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase
{
protected override void ApplyNodeSpecificSemantics(Remotion.Linq.QueryModel queryModel, Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext) => throw null;
protected abstract Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest();
protected override Remotion.Linq.Clauses.ResultOperatorBase CreateResultOperator(Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext) => throw null;
protected OuterFetchExpressionNodeBase(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public abstract class ThenFetchExpressionNodeBase : Remotion.Linq.EagerFetching.Parsing.FetchExpressionNodeBase
{
protected override void ApplyNodeSpecificSemantics(Remotion.Linq.QueryModel queryModel, Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext) => throw null;
protected abstract Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest();
protected override Remotion.Linq.Clauses.ResultOperatorBase CreateResultOperator(Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext) => throw null;
protected ThenFetchExpressionNodeBase(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.ThenFetchManyExpressionNode` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class ThenFetchManyExpressionNode : Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase
{
protected override Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest() => throw null;
public ThenFetchManyExpressionNode(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
// Generated from `Remotion.Linq.EagerFetching.Parsing.ThenFetchOneExpressionNode` in `Remotion.Linq.EagerFetching, Version=2.2.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b`
public class ThenFetchOneExpressionNode : Remotion.Linq.EagerFetching.Parsing.ThenFetchExpressionNodeBase
{
protected override Remotion.Linq.EagerFetching.FetchRequestBase CreateFetchRequest() => throw null;
public ThenFetchOneExpressionNode(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo parseInfo, System.Linq.Expressions.LambdaExpression relatedObjectSelector) : base(default(Remotion.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo), default(System.Linq.Expressions.LambdaExpression)) => throw null;
}
}
}
}
}

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../Remotion.Linq/2.2.0/Remotion.Linq.csproj" />
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputPath>bin\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj" />
</ItemGroup>
</Project>