Commit 6d8b5972 by mahaisong

fix;EF和mysql终于搞匹配了。测试通过。调用palasV5+本地推荐mysql库。

备注;从6.9.1到8.0.0全部测试了遍,只有1个搭配是成功的。 sql-for-visualstudio-2.0.5.msi+ mysql-connector-net-6.10.7.msi+管理NuGet程序包MySql.Data.Entify更改为6.10.7 成功的原因如下; sql-for-visualstudio-2.0.5.msi是mysql.data的6.9.8版本。 而mysql-connector-net-6.10.7版本恰恰是唯一比6.9.8高的能用的版本。 但是官网上坑X的,弄了20多个版本,我还以为都能用,一个个测试发现都不能用。太坑了。
parent c273962f
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace GHHttpClient
{
public static class CloneUtil
{
#region 深表拷贝(需要对象标识为可序列化:[Serializable()]
/// <summary>
/// Clones the specified list.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="List">The list.</param>
/// <returns>List{``0}.</returns>
public static List<T> Clone<T>(object List)
{
try
{
using (Stream objectStream = new MemoryStream())
{
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(objectStream, List);
objectStream.Seek(0, SeekOrigin.Begin);
return formatter.Deserialize(objectStream) as List<T>;
}
}
catch (Exception ex)
{
throw;
}
}
/// <summary>
/// 利用二进制序列化和反序列化实现
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns>T</returns>
public static T CloneObj<T>(object obj)
{
try
{
using (Stream objectStream = new MemoryStream())
{
IFormatter formatter = new BinaryFormatter();
//序列化成流
formatter.Serialize(objectStream, obj);
objectStream.Seek(0, SeekOrigin.Begin);
//反序列化成对象
return (T)formatter.Deserialize(objectStream);
}
}
catch (Exception ex)
{
throw;
}
}
#endregion
}
}
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
......@@ -47,6 +47,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CloneUtil.cs" />
<Compile Include="CryptoUtil.cs" />
<Compile Include="ESBFinder.cs" />
<Compile Include="ConnectionOptions.cs" />
......
c250934ce8c26a28501162917f10eaad0dd666ce
24da49bd0c357f6372a5f4994e9569cf3730e568
c250934ce8c26a28501162917f10eaad0dd666ce
24da49bd0c357f6372a5f4994e9569cf3730e568
<configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<connectionStrings>
<!--<add name="ghrecomEntities" connectionString="metadata=res://*/Model.Model.csdl|res://*/Model.Model.ssdl|res://*/Model.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;user id=root;password=root;database=ghrecom;persistsecurityinfo=True;port=3306&quot;" providerName="System.Data.EntityClient" />-->
<add name="PalasV5Context" connectionString="server=pubtopic.org;user id=palas;password=lapas;persistsecurityinfo=True;database=Palas_V5" providerName="MySql.Data.MySqlClient" />
<add name="ghrecomEntities" connectionString="metadata=res://*/EFModels.GHModel.csdl|res://*/EFModels.GHModel.ssdl|res://*/EFModels.GHModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;user id=root;password=root;persistsecurityinfo=True;port=3306;database=ghrecom;allowuservariables=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.10.7.0" newVersion="6.10.7.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class ghrecomEntities : DbContext
{
public ghrecomEntities()
: base("name=ghrecomEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<ghrecom_dic> ghrecom_dic { get; set; }
public virtual DbSet<ghrecom_fund> ghrecom_fund { get; set; }
public virtual DbSet<ghrecom_fundpool> ghrecom_fundpool { get; set; }
public virtual DbSet<ghrecom_fundzc> ghrecom_fundzc { get; set; }
public virtual DbSet<ghrecom_history> ghrecom_history { get; set; }
public virtual DbSet<ghrecom_ranklist> ghrecom_ranklist { get; set; }
public virtual DbSet<ghrecom_userrisk> ghrecom_userrisk { get; set; }
}
}
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF6.Utility.CS.ttinclude"#><#@
output extension=".cs"#><#
const string inputFile = @"GHModel.edmx";
var textTransform = DynamicTextTransformation.Create(this);
var code = new CodeGenerationTools(this);
var ef = new MetadataTools(this);
var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors);
var itemCollection = loader.CreateEdmItemCollection(inputFile);
var modelNamespace = loader.GetModelNamespace(inputFile);
var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
var container = itemCollection.OfType<EntityContainer>().FirstOrDefault();
if (container == null)
{
return string.Empty;
}
#>
//------------------------------------------------------------------------------
// <auto-generated>
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
//
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
// </auto-generated>
//------------------------------------------------------------------------------
<#
var codeNamespace = code.VsNamespaceSuggestion();
if (!String.IsNullOrEmpty(codeNamespace))
{
#>
namespace <#=code.EscapeNamespace(codeNamespace)#>
{
<#
PushIndent(" ");
}
#>
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
<#
if (container.FunctionImports.Any())
{
#>
using System.Data.Entity.Core.Objects;
using System.Linq;
<#
}
#>
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
{
public <#=code.Escape(container)#>()
: base("name=<#=container.Name#>")
{
<#
if (!loader.IsLazyLoadingEnabled(container))
{
#>
this.Configuration.LazyLoadingEnabled = false;
<#
}
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
{
// Note: the DbSet members are defined below such that the getter and
// setter always have the same accessibility as the DbSet definition
if (Accessibility.ForReadOnlyProperty(entitySet) != "public")
{
#>
<#=codeStringGenerator.DbSetInitializer(entitySet)#>
<#
}
}
#>
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
<#
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
{
#>
<#=codeStringGenerator.DbSet(entitySet)#>
<#
}
foreach (var edmFunction in container.FunctionImports)
{
WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false);
}
#>
}
<#
if (!String.IsNullOrEmpty(codeNamespace))
{
PopIndent();
#>
}
<#
}
#>
<#+
private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
{
if (typeMapper.IsComposable(edmFunction))
{
#>
[DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")]
<#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#>
{
<#+
codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
#>
<#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#>
}
<#+
}
else
{
#>
<#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#>
{
<#+
codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
#>
<#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#>
}
<#+
if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption))
{
WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true);
}
}
}
public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit)
{
#>
var <#=name#> = <#=isNotNull#> ?
<#=notNullInit#> :
<#=nullInit#>;
<#+
}
public const string TemplateId = "CSharp_DbContext_Context_EF6";
public class CodeStringGenerator
{
private readonly CodeGenerationTools _code;
private readonly TypeMapper _typeMapper;
private readonly MetadataTools _ef;
public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
{
ArgumentNotNull(code, "code");
ArgumentNotNull(typeMapper, "typeMapper");
ArgumentNotNull(ef, "ef");
_code = code;
_typeMapper = typeMapper;
_ef = ef;
}
public string Property(EdmProperty edmProperty)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2} {{ {3}get; {4}set; }}",
Accessibility.ForProperty(edmProperty),
_typeMapper.GetTypeName(edmProperty.TypeUsage),
_code.Escape(edmProperty),
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
_code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
}
public string NavigationProperty(NavigationProperty navProp)
{
var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2} {{ {3}get; {4}set; }}",
AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
_code.Escape(navProp),
_code.SpaceAfter(Accessibility.ForGetter(navProp)),
_code.SpaceAfter(Accessibility.ForSetter(navProp)));
}
public string AccessibilityAndVirtual(string accessibility)
{
return accessibility + (accessibility != "private" ? " virtual" : "");
}
public string EntityClassOpening(EntityType entity)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3}",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
}
public string EnumOpening(SimpleType enumType)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} enum {1} : {2}",
Accessibility.ForType(enumType),
_code.Escape(enumType),
_code.Escape(_typeMapper.UnderlyingClrType(enumType)));
}
public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
{
var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
{
var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
}
}
public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
{
var parameters = _typeMapper.GetParameters(edmFunction);
return string.Format(
CultureInfo.InvariantCulture,
"{0} IQueryable<{1}> {2}({3})",
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
_code.Escape(edmFunction),
string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
}
public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
{
var parameters = _typeMapper.GetParameters(edmFunction);
return string.Format(
CultureInfo.InvariantCulture,
"return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
edmFunction.NamespaceName,
edmFunction.Name,
string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
_code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
}
public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
{
var parameters = _typeMapper.GetParameters(edmFunction);
var returnType = _typeMapper.GetReturnType(edmFunction);
var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
if (includeMergeOption)
{
paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
}
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2}({3})",
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
_code.Escape(edmFunction),
paramList);
}
public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
{
var parameters = _typeMapper.GetParameters(edmFunction);
var returnType = _typeMapper.GetReturnType(edmFunction);
var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
if (includeMergeOption)
{
callParams = ", mergeOption" + callParams;
}
return string.Format(
CultureInfo.InvariantCulture,
"return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
edmFunction.Name,
callParams);
}
public string DbSet(EntitySet entitySet)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} virtual DbSet<{1}> {2} {{ get; set; }}",
Accessibility.ForReadOnlyProperty(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType),
_code.Escape(entitySet));
}
public string DbSetInitializer(EntitySet entitySet)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} = Set<{1}>();",
_code.Escape(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType));
}
public string UsingDirectives(bool inHeader, bool includeCollections = true)
{
return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
? string.Format(
CultureInfo.InvariantCulture,
"{0}using System;{1}" +
"{2}",
inHeader ? Environment.NewLine : "",
includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
inHeader ? "" : Environment.NewLine)
: "";
}
}
public class TypeMapper
{
private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
private readonly System.Collections.IList _errors;
private readonly CodeGenerationTools _code;
private readonly MetadataTools _ef;
public static string FixNamespaces(string typeName)
{
return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
}
public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
{
ArgumentNotNull(code, "code");
ArgumentNotNull(ef, "ef");
ArgumentNotNull(errors, "errors");
_code = code;
_ef = ef;
_errors = errors;
}
public string GetTypeName(TypeUsage typeUsage)
{
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
}
public string GetTypeName(EdmType edmType)
{
return GetTypeName(edmType, isNullable: null, modelNamespace: null);
}
public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
{
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
}
public string GetTypeName(EdmType edmType, string modelNamespace)
{
return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
}
public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
{
if (edmType == null)
{
return null;
}
var collectionType = edmType as CollectionType;
if (collectionType != null)
{
return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
}
var typeName = _code.Escape(edmType.MetadataProperties
.Where(p => p.Name == ExternalTypeNameAttributeName)
.Select(p => (string)p.Value)
.FirstOrDefault())
?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
_code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
_code.Escape(edmType));
if (edmType is StructuralType)
{
return typeName;
}
if (edmType is SimpleType)
{
var clrType = UnderlyingClrType(edmType);
if (!IsEnumType(edmType))
{
typeName = _code.Escape(clrType);
}
typeName = FixNamespaces(typeName);
return clrType.IsValueType && isNullable == true ?
String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
typeName;
}
throw new ArgumentException("edmType");
}
public Type UnderlyingClrType(EdmType edmType)
{
ArgumentNotNull(edmType, "edmType");
var primitiveType = edmType as PrimitiveType;
if (primitiveType != null)
{
return primitiveType.ClrEquivalentType;
}
if (IsEnumType(edmType))
{
return GetEnumUnderlyingType(edmType).ClrEquivalentType;
}
return typeof(object);
}
public object GetEnumMemberValue(MetadataItem enumMember)
{
ArgumentNotNull(enumMember, "enumMember");
var valueProperty = enumMember.GetType().GetProperty("Value");
return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
}
public string GetEnumMemberName(MetadataItem enumMember)
{
ArgumentNotNull(enumMember, "enumMember");
var nameProperty = enumMember.GetType().GetProperty("Name");
return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
}
public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
var membersProperty = enumType.GetType().GetProperty("Members");
return membersProperty != null
? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
: Enumerable.Empty<MetadataItem>();
}
public bool EnumIsFlags(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
}
public bool IsEnumType(GlobalItem edmType)
{
ArgumentNotNull(edmType, "edmType");
return edmType.GetType().Name == "EnumType";
}
public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
}
public string CreateLiteral(object value)
{
if (value == null || value.GetType() != typeof(TimeSpan))
{
return _code.CreateLiteral(value);
}
return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
}
public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
{
ArgumentNotNull(types, "types");
ArgumentNotNull(sourceFile, "sourceFile");
var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
if (types.Any(item => !hash.Add(item)))
{
_errors.Add(
new CompilerError(sourceFile, -1, -1, "6023",
String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
return false;
}
return true;
}
public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
{
return GetItemsToGenerate<SimpleType>(itemCollection)
.Where(e => IsEnumType(e));
}
public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
{
return itemCollection
.OfType<T>()
.Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
.OrderBy(i => i.Name);
}
public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
{
return itemCollection
.Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
.Select(g => GetGlobalItemName(g));
}
public string GetGlobalItemName(GlobalItem item)
{
if (item is EdmType)
{
return ((EdmType)item).Name;
}
else
{
return ((EntityContainer)item).Name;
}
}
public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
}
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
}
public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
{
return type.NavigationProperties.Where(np => np.DeclaringType == type);
}
public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
{
return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
}
public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
{
ArgumentNotNull(edmFunction, "edmFunction");
var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
return returnParamsProperty == null
? edmFunction.ReturnParameter
: ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
}
public bool IsComposable(EdmFunction edmFunction)
{
ArgumentNotNull(edmFunction, "edmFunction");
var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
}
public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
{
return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
}
public TypeUsage GetReturnType(EdmFunction edmFunction)
{
var returnParam = GetReturnParameter(edmFunction);
return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
}
public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
{
var returnType = GetReturnType(edmFunction);
return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
}
}
public static void ArgumentNotNull<T>(T arg, string name) where T : class
{
if (arg == null)
{
throw new ArgumentNullException(name);
}
}
#>
\ No newline at end of file
// 为模型“D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\EFModels\GHModel.edmx”启用了 T4 代码生成。
// 为模型“D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\EFModels\GHModel.edmx”启用了 T4 代码生成。
// 要启用旧代码生成功能,请将“代码生成策略”设计器属性的值
// 更改为“旧的 ObjectContext”。当在设计器中打开该模型时,此属性会出现在
// “属性”窗口中。
// 如果没有生成任何上下文和实体类,可能是因为您创建了空模型但是
// 尚未选择要使用的实体框架版本。要为您的模型生成一个上下文类和实体
// 类,请在设计器中打开该模型,右键单击设计器图面,然后
// 选择“从数据库更新模型...”、“从模型生成数据库...”或“添加代码生成
// 项...”。
\ No newline at end of file
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
<!-- EF Runtime content -->
<edmx:Runtime>
<!-- SSDL content -->
<edmx:StorageModels>
<Schema Namespace="ghrecomModel.Store" Provider="MySql.Data.MySqlClient" ProviderManifestToken="5.7" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
<EntityType Name="ghrecom_dic">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="Type" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="DicKey" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="DicValue" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="UpdateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fund">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODTA_NO" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="varchar" MaxLength="30" />
<Property Name="PROD_STATUS" Type="varchar" MaxLength="30" />
<Property Name="PROD_TYPE" Type="int" />
<Property Name="MIN_SHARE2" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="NAV" Type="decimal" Precision="38" Scale="6" />
<Property Name="PROD_RATIO" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="INCOME_TYPE" Type="int" />
<Property Name="MONEY_TYPE" Type="int" />
<Property Name="YLD_RAT_1W" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M_RK" Type="int" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="int" />
<Property Name="YLD_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="FLUC_RAN" Type="varchar" MaxLength="10" />
<Property Name="FLUC_RAN_RANK" Type="int" />
<Property Name="SHP_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="SHP_RAT_RANK" Type="int" />
<Property Name="RISK_FCTR" Type="int" />
<Property Name="RISK_FCTR_RANK" Type="int" />
<Property Name="CreateDate" Type="date" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fundpool">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODTA_NO" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="varchar" MaxLength="30" />
<Property Name="PROD_TYPE" Type="int" />
<Property Name="MIN_SHARE2" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="NAV" Type="decimal" Precision="38" Scale="6" />
<Property Name="PROD_RATIO" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="INCOME_TYPE" Type="int" />
<Property Name="MONEY_TYPE" Type="int" />
<Property Name="YLD_RAT_1W" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M_RK" Type="int" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="int" />
<Property Name="YLD_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="FLUC_RAN" Type="varchar" MaxLength="10" />
<Property Name="FLUC_RAN_RANK" Type="int" />
<Property Name="SHP_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="SHP_RAT_RANK" Type="int" />
<Property Name="RISK_FCTR" Type="int" />
<Property Name="RISK_FCTR_RANK" Type="int" />
<Property Name="Issuing_Scale" Type="decimal" Precision="38" Scale="6" />
<Property Name="StarLevel" Type="int" />
<Property Name="FoundationDate" Type="datetime" Precision="0" />
<Property Name="Redeem" Type="datetime" Precision="0" />
<Property Name="BrightSpotLabel" Type="varchar" MaxLength="30" />
<Property Name="URL" Type="varchar" MaxLength="200" />
<Property Name="UpdateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="IsDelete" Type="bit" Nullable="false" />
<Property Name="DeleteTime" Type="datetime" Precision="0" />
</EntityType>
<EntityType Name="ghrecom_fundzc">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="Type" Type="int" Nullable="false" />
<Property Name="ZCName" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="ZCNo" Type="varchar" MaxLength="30" />
<Property Name="ZCRate" Type="decimal" Precision="38" Scale="6" />
<Property Name="TOPN" Type="int" />
<Property Name="MediaPubTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CrawlerTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_history">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="bigint" Nullable="false" />
<Property Name="Openid" Type="varchar" MaxLength="50" Nullable="false" />
<Property Name="RecomType" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="BrightSpotLabel" Type="varchar" MaxLength="30" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="URL" Type="varchar" MaxLength="100" Nullable="false" />
<Property Name="SmallTitle" Type="varchar" MaxLength="30" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_ranklist">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="RankType" Type="int" Nullable="false" />
<Property Name="RankKey" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="ReturnRatio" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="LastUpdateTimestamp" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_userrisk">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="Openid" Type="varchar" MaxLength="50" Nullable="false" />
<Property Name="Risk_Level" Type="varchar" MaxLength="10" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityContainer Name="ghrecomModelStoreContainer">
<EntitySet Name="ghrecom_dic" EntityType="Self.ghrecom_dic" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fund" EntityType="Self.ghrecom_fund" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fundpool" EntityType="Self.ghrecom_fundpool" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fundzc" EntityType="Self.ghrecom_fundzc" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_history" EntityType="Self.ghrecom_history" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_ranklist" EntityType="Self.ghrecom_ranklist" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_userrisk" EntityType="Self.ghrecom_userrisk" Schema="ghrecom" store:Type="Tables" />
</EntityContainer>
</Schema></edmx:StorageModels>
<!-- CSDL content -->
<edmx:ConceptualModels>
<Schema Namespace="ghrecomModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
<EntityType Name="ghrecom_dic">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="Type" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="DicKey" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="DicValue" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
<Property Name="UpdateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fund">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODTA_NO" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_STATUS" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_TYPE" Type="Int32" />
<Property Name="MIN_SHARE2" Type="Decimal" Nullable="false" />
<Property Name="NAV" Type="Decimal" />
<Property Name="PROD_RATIO" Type="Decimal" Nullable="false" />
<Property Name="INCOME_TYPE" Type="Int32" />
<Property Name="MONEY_TYPE" Type="Int32" />
<Property Name="YLD_RAT_1W" Type="Decimal" />
<Property Name="YLD_RAT_1M" Type="Decimal" />
<Property Name="YLD_RAT_3M" Type="Decimal" />
<Property Name="YLD_RAT_3M_RK" Type="Int32" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="Int32" />
<Property Name="YLD_RAT" Type="Decimal" />
<Property Name="FLUC_RAN" Type="String" MaxLength="10" FixedLength="false" Unicode="false" />
<Property Name="FLUC_RAN_RANK" Type="Int32" />
<Property Name="SHP_RAT" Type="Decimal" />
<Property Name="SHP_RAT_RANK" Type="Int32" />
<Property Name="RISK_FCTR" Type="Int32" />
<Property Name="RISK_FCTR_RANK" Type="Int32" />
<Property Name="CreateDate" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fundpool">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODTA_NO" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_TYPE" Type="Int32" />
<Property Name="MIN_SHARE2" Type="Decimal" Nullable="false" />
<Property Name="NAV" Type="Decimal" />
<Property Name="PROD_RATIO" Type="Decimal" Nullable="false" />
<Property Name="INCOME_TYPE" Type="Int32" />
<Property Name="MONEY_TYPE" Type="Int32" />
<Property Name="YLD_RAT_1W" Type="Decimal" />
<Property Name="YLD_RAT_1M" Type="Decimal" />
<Property Name="YLD_RAT_3M" Type="Decimal" />
<Property Name="YLD_RAT_3M_RK" Type="Int32" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="Int32" />
<Property Name="YLD_RAT" Type="Decimal" />
<Property Name="FLUC_RAN" Type="String" MaxLength="10" FixedLength="false" Unicode="false" />
<Property Name="FLUC_RAN_RANK" Type="Int32" />
<Property Name="SHP_RAT" Type="Decimal" />
<Property Name="SHP_RAT_RANK" Type="Int32" />
<Property Name="RISK_FCTR" Type="Int32" />
<Property Name="RISK_FCTR_RANK" Type="Int32" />
<Property Name="Issuing_Scale" Type="Decimal" />
<Property Name="StarLevel" Type="Int32" />
<Property Name="FoundationDate" Type="DateTime" />
<Property Name="Redeem" Type="DateTime" />
<Property Name="BrightSpotLabel" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="URL" Type="String" MaxLength="200" FixedLength="false" Unicode="false" />
<Property Name="UpdateTime" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
<Property Name="IsDelete" Type="Boolean" Nullable="false" />
<Property Name="DeleteTime" Type="DateTime" />
</EntityType>
<EntityType Name="ghrecom_fundzc">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="Type" Type="Int32" Nullable="false" />
<Property Name="ZCName" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="ZCNo" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="ZCRate" Type="Decimal" />
<Property Name="TOPN" Type="Int32" />
<Property Name="MediaPubTime" Type="DateTime" Nullable="false" />
<Property Name="CrawlerTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_history">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int64" Nullable="false" />
<Property Name="Openid" Type="String" MaxLength="50" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="RecomType" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="BrightSpotLabel" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="URL" Type="String" MaxLength="100" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="SmallTitle" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_ranklist">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="RankType" Type="Int32" Nullable="false" />
<Property Name="RankKey" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="ReturnRatio" Type="Decimal" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="LastUpdateTimestamp" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_userrisk">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="Openid" Type="String" MaxLength="50" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="Risk_Level" Type="String" MaxLength="10" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityContainer Name="ghrecomEntities" annotation:LazyLoadingEnabled="true">
<EntitySet Name="ghrecom_dic" EntityType="Self.ghrecom_dic" />
<EntitySet Name="ghrecom_fund" EntityType="Self.ghrecom_fund" />
<EntitySet Name="ghrecom_fundpool" EntityType="Self.ghrecom_fundpool" />
<EntitySet Name="ghrecom_fundzc" EntityType="Self.ghrecom_fundzc" />
<EntitySet Name="ghrecom_history" EntityType="Self.ghrecom_history" />
<EntitySet Name="ghrecom_ranklist" EntityType="Self.ghrecom_ranklist" />
<EntitySet Name="ghrecom_userrisk" EntityType="Self.ghrecom_userrisk" />
</EntityContainer>
</Schema>
</edmx:ConceptualModels>
<!-- C-S mapping content -->
<edmx:Mappings>
<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
<EntityContainerMapping StorageEntityContainer="ghrecomModelStoreContainer" CdmEntityContainer="ghrecomEntities">
<EntitySetMapping Name="ghrecom_dic">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_dic">
<MappingFragment StoreEntitySet="ghrecom_dic">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Type" ColumnName="Type" />
<ScalarProperty Name="DicKey" ColumnName="DicKey" />
<ScalarProperty Name="DicValue" ColumnName="DicValue" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
<ScalarProperty Name="UpdateTime" ColumnName="UpdateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fund">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fund">
<MappingFragment StoreEntitySet="ghrecom_fund">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PRODTA_NO" ColumnName="PRODTA_NO" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="PRODRISK_LEVEL" ColumnName="PRODRISK_LEVEL" />
<ScalarProperty Name="PRODRISK_LEVEL_NAME" ColumnName="PRODRISK_LEVEL_NAME" />
<ScalarProperty Name="PROD_STATUS" ColumnName="PROD_STATUS" />
<ScalarProperty Name="PROD_TYPE" ColumnName="PROD_TYPE" />
<ScalarProperty Name="MIN_SHARE2" ColumnName="MIN_SHARE2" />
<ScalarProperty Name="NAV" ColumnName="NAV" />
<ScalarProperty Name="PROD_RATIO" ColumnName="PROD_RATIO" />
<ScalarProperty Name="INCOME_TYPE" ColumnName="INCOME_TYPE" />
<ScalarProperty Name="MONEY_TYPE" ColumnName="MONEY_TYPE" />
<ScalarProperty Name="YLD_RAT_1W" ColumnName="YLD_RAT_1W" />
<ScalarProperty Name="YLD_RAT_1M" ColumnName="YLD_RAT_1M" />
<ScalarProperty Name="YLD_RAT_3M" ColumnName="YLD_RAT_3M" />
<ScalarProperty Name="YLD_RAT_3M_RK" ColumnName="YLD_RAT_3M_RK" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="YLD_RAT_1Y_RK" ColumnName="YLD_RAT_1Y_RK" />
<ScalarProperty Name="YLD_RAT" ColumnName="YLD_RAT" />
<ScalarProperty Name="FLUC_RAN" ColumnName="FLUC_RAN" />
<ScalarProperty Name="FLUC_RAN_RANK" ColumnName="FLUC_RAN_RANK" />
<ScalarProperty Name="SHP_RAT" ColumnName="SHP_RAT" />
<ScalarProperty Name="SHP_RAT_RANK" ColumnName="SHP_RAT_RANK" />
<ScalarProperty Name="RISK_FCTR" ColumnName="RISK_FCTR" />
<ScalarProperty Name="RISK_FCTR_RANK" ColumnName="RISK_FCTR_RANK" />
<ScalarProperty Name="CreateDate" ColumnName="CreateDate" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fundpool">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fundpool">
<MappingFragment StoreEntitySet="ghrecom_fundpool">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PRODTA_NO" ColumnName="PRODTA_NO" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="PRODRISK_LEVEL" ColumnName="PRODRISK_LEVEL" />
<ScalarProperty Name="PRODRISK_LEVEL_NAME" ColumnName="PRODRISK_LEVEL_NAME" />
<ScalarProperty Name="PROD_TYPE" ColumnName="PROD_TYPE" />
<ScalarProperty Name="MIN_SHARE2" ColumnName="MIN_SHARE2" />
<ScalarProperty Name="NAV" ColumnName="NAV" />
<ScalarProperty Name="PROD_RATIO" ColumnName="PROD_RATIO" />
<ScalarProperty Name="INCOME_TYPE" ColumnName="INCOME_TYPE" />
<ScalarProperty Name="MONEY_TYPE" ColumnName="MONEY_TYPE" />
<ScalarProperty Name="YLD_RAT_1W" ColumnName="YLD_RAT_1W" />
<ScalarProperty Name="YLD_RAT_1M" ColumnName="YLD_RAT_1M" />
<ScalarProperty Name="YLD_RAT_3M" ColumnName="YLD_RAT_3M" />
<ScalarProperty Name="YLD_RAT_3M_RK" ColumnName="YLD_RAT_3M_RK" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="YLD_RAT_1Y_RK" ColumnName="YLD_RAT_1Y_RK" />
<ScalarProperty Name="YLD_RAT" ColumnName="YLD_RAT" />
<ScalarProperty Name="FLUC_RAN" ColumnName="FLUC_RAN" />
<ScalarProperty Name="FLUC_RAN_RANK" ColumnName="FLUC_RAN_RANK" />
<ScalarProperty Name="SHP_RAT" ColumnName="SHP_RAT" />
<ScalarProperty Name="SHP_RAT_RANK" ColumnName="SHP_RAT_RANK" />
<ScalarProperty Name="RISK_FCTR" ColumnName="RISK_FCTR" />
<ScalarProperty Name="RISK_FCTR_RANK" ColumnName="RISK_FCTR_RANK" />
<ScalarProperty Name="Issuing_Scale" ColumnName="Issuing_Scale" />
<ScalarProperty Name="StarLevel" ColumnName="StarLevel" />
<ScalarProperty Name="FoundationDate" ColumnName="FoundationDate" />
<ScalarProperty Name="Redeem" ColumnName="Redeem" />
<ScalarProperty Name="BrightSpotLabel" ColumnName="BrightSpotLabel" />
<ScalarProperty Name="URL" ColumnName="URL" />
<ScalarProperty Name="UpdateTime" ColumnName="UpdateTime" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
<ScalarProperty Name="IsDelete" ColumnName="IsDelete" />
<ScalarProperty Name="DeleteTime" ColumnName="DeleteTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fundzc">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fundzc">
<MappingFragment StoreEntitySet="ghrecom_fundzc">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="Type" ColumnName="Type" />
<ScalarProperty Name="ZCName" ColumnName="ZCName" />
<ScalarProperty Name="ZCNo" ColumnName="ZCNo" />
<ScalarProperty Name="ZCRate" ColumnName="ZCRate" />
<ScalarProperty Name="TOPN" ColumnName="TOPN" />
<ScalarProperty Name="MediaPubTime" ColumnName="MediaPubTime" />
<ScalarProperty Name="CrawlerTime" ColumnName="CrawlerTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_history">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_history">
<MappingFragment StoreEntitySet="ghrecom_history">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Openid" ColumnName="Openid" />
<ScalarProperty Name="RecomType" ColumnName="RecomType" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="BrightSpotLabel" ColumnName="BrightSpotLabel" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="URL" ColumnName="URL" />
<ScalarProperty Name="SmallTitle" ColumnName="SmallTitle" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_ranklist">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_ranklist">
<MappingFragment StoreEntitySet="ghrecom_ranklist">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="RankType" ColumnName="RankType" />
<ScalarProperty Name="RankKey" ColumnName="RankKey" />
<ScalarProperty Name="ReturnRatio" ColumnName="ReturnRatio" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="LastUpdateTimestamp" ColumnName="LastUpdateTimestamp" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_userrisk">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_userrisk">
<MappingFragment StoreEntitySet="ghrecom_userrisk">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Openid" ColumnName="Openid" />
<ScalarProperty Name="Risk_Level" ColumnName="Risk_Level" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
</EntityContainerMapping>
</Mapping>
</edmx:Mappings>
</edmx:Runtime>
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
<Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
<Connection>
<DesignerInfoPropertySet>
<DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
</DesignerInfoPropertySet>
</Connection>
<Options>
<DesignerInfoPropertySet>
<DesignerProperty Name="ValidateOnBuild" Value="true" />
<DesignerProperty Name="EnablePluralization" Value="true" />
<DesignerProperty Name="IncludeForeignKeysInModel" Value="false" />
<DesignerProperty Name="UseLegacyProvider" Value="false" />
<DesignerProperty Name="CodeGenerationStrategy" Value="无" />
</DesignerInfoPropertySet>
</Options>
<!-- Diagram content (shape and connector positions) -->
<Diagrams></Diagrams>
</Designer>
</edmx:Edmx>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
<edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="550575d327404a5d88915b6ef1271a7b" Name="Diagram1">
<EntityTypeShape EntityType="ghrecomModel.ghrecom_dic" Width="1.5" PointX="0.75" PointY="0.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_fund" Width="1.5" PointX="2.75" PointY="0.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_fundpool" Width="1.5" PointX="4.75" PointY="0.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_fundzc" Width="1.5" PointX="6.75" PointY="0.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_history" Width="1.5" PointX="6.75" PointY="4.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_ranklist" Width="1.5" PointX="8.75" PointY="0.75" IsExpanded="true" />
<EntityTypeShape EntityType="ghrecomModel.ghrecom_userrisk" Width="1.5" PointX="0.75" PointY="8.75" IsExpanded="true" />
</Diagram>
</edmx:Diagrams>
</edmx:Designer>
</edmx:Edmx>
\ No newline at end of file
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF6.Utility.CS.ttinclude"#><#@
output extension=".cs"#><#
const string inputFile = @"GHModel.edmx";
var textTransform = DynamicTextTransformation.Create(this);
var code = new CodeGenerationTools(this);
var ef = new MetadataTools(this);
var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
var fileManager = EntityFrameworkTemplateFileManager.Create(this);
var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile);
var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
if (!typeMapper.VerifyCaseInsensitiveTypeUniqueness(typeMapper.GetAllGlobalItems(itemCollection), inputFile))
{
return string.Empty;
}
WriteHeader(codeStringGenerator, fileManager);
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection))
{
fileManager.StartNewFile(entity.Name + ".cs");
BeginNamespace(code);
#>
<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
<#=codeStringGenerator.EntityClassOpening(entity)#>
{
<#
var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity);
var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity);
var complexProperties = typeMapper.GetComplexProperties(entity);
if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any())
{
#>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public <#=code.Escape(entity)#>()
{
<#
foreach (var edmProperty in propertiesWithDefaultValues)
{
#>
this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
<#
}
foreach (var navigationProperty in collectionNavigationProperties)
{
#>
this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>();
<#
}
foreach (var complexProperty in complexProperties)
{
#>
this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
<#
}
#>
}
<#
}
var simpleProperties = typeMapper.GetSimpleProperties(entity);
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
<#
}
}
if (complexProperties.Any())
{
#>
<#
foreach(var complexProperty in complexProperties)
{
#>
<#=codeStringGenerator.Property(complexProperty)#>
<#
}
}
var navigationProperties = typeMapper.GetNavigationProperties(entity);
if (navigationProperties.Any())
{
#>
<#
foreach (var navigationProperty in navigationProperties)
{
if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
{
#>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
<#
}
#>
<#=codeStringGenerator.NavigationProperty(navigationProperty)#>
<#
}
}
#>
}
<#
EndNamespace(code);
}
foreach (var complex in typeMapper.GetItemsToGenerate<ComplexType>(itemCollection))
{
fileManager.StartNewFile(complex.Name + ".cs");
BeginNamespace(code);
#>
<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>
{
<#
var complexProperties = typeMapper.GetComplexProperties(complex);
var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(complex);
if (propertiesWithDefaultValues.Any() || complexProperties.Any())
{
#>
public <#=code.Escape(complex)#>()
{
<#
foreach (var edmProperty in propertiesWithDefaultValues)
{
#>
this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
<#
}
foreach (var complexProperty in complexProperties)
{
#>
this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
<#
}
#>
}
<#
}
var simpleProperties = typeMapper.GetSimpleProperties(complex);
if (simpleProperties.Any())
{
foreach(var edmProperty in simpleProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
<#
}
}
if (complexProperties.Any())
{
#>
<#
foreach(var edmProperty in complexProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
<#
}
}
#>
}
<#
EndNamespace(code);
}
foreach (var enumType in typeMapper.GetEnumItemsToGenerate(itemCollection))
{
fileManager.StartNewFile(enumType.Name + ".cs");
BeginNamespace(code);
#>
<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
<#
if (typeMapper.EnumIsFlags(enumType))
{
#>
[Flags]
<#
}
#>
<#=codeStringGenerator.EnumOpening(enumType)#>
{
<#
var foundOne = false;
foreach (MetadataItem member in typeMapper.GetEnumMembers(enumType))
{
foundOne = true;
#>
<#=code.Escape(typeMapper.GetEnumMemberName(member))#> = <#=typeMapper.GetEnumMemberValue(member)#>,
<#
}
if (foundOne)
{
this.GenerationEnvironment.Remove(this.GenerationEnvironment.Length - 3, 1);
}
#>
}
<#
EndNamespace(code);
}
fileManager.Process();
#>
<#+
public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager)
{
fileManager.StartHeader();
#>
//------------------------------------------------------------------------------
// <auto-generated>
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
//
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
// </auto-generated>
//------------------------------------------------------------------------------
<#=codeStringGenerator.UsingDirectives(inHeader: true)#>
<#+
fileManager.EndBlock();
}
public void BeginNamespace(CodeGenerationTools code)
{
var codeNamespace = code.VsNamespaceSuggestion();
if (!String.IsNullOrEmpty(codeNamespace))
{
#>
namespace <#=code.EscapeNamespace(codeNamespace)#>
{
<#+
PushIndent(" ");
}
}
public void EndNamespace(CodeGenerationTools code)
{
if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion()))
{
PopIndent();
#>
}
<#+
}
}
public const string TemplateId = "CSharp_DbContext_Types_EF6";
public class CodeStringGenerator
{
private readonly CodeGenerationTools _code;
private readonly TypeMapper _typeMapper;
private readonly MetadataTools _ef;
public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
{
ArgumentNotNull(code, "code");
ArgumentNotNull(typeMapper, "typeMapper");
ArgumentNotNull(ef, "ef");
_code = code;
_typeMapper = typeMapper;
_ef = ef;
}
public string Property(EdmProperty edmProperty)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2} {{ {3}get; {4}set; }}",
Accessibility.ForProperty(edmProperty),
_typeMapper.GetTypeName(edmProperty.TypeUsage),
_code.Escape(edmProperty),
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
_code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
}
public string NavigationProperty(NavigationProperty navProp)
{
var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2} {{ {3}get; {4}set; }}",
AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
_code.Escape(navProp),
_code.SpaceAfter(Accessibility.ForGetter(navProp)),
_code.SpaceAfter(Accessibility.ForSetter(navProp)));
}
public string AccessibilityAndVirtual(string accessibility)
{
return accessibility + (accessibility != "private" ? " virtual" : "");
}
public string EntityClassOpening(EntityType entity)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3}",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
}
public string EnumOpening(SimpleType enumType)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} enum {1} : {2}",
Accessibility.ForType(enumType),
_code.Escape(enumType),
_code.Escape(_typeMapper.UnderlyingClrType(enumType)));
}
public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
{
var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
{
var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
}
}
public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
{
var parameters = _typeMapper.GetParameters(edmFunction);
return string.Format(
CultureInfo.InvariantCulture,
"{0} IQueryable<{1}> {2}({3})",
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
_code.Escape(edmFunction),
string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
}
public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
{
var parameters = _typeMapper.GetParameters(edmFunction);
return string.Format(
CultureInfo.InvariantCulture,
"return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
edmFunction.NamespaceName,
edmFunction.Name,
string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
_code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
}
public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
{
var parameters = _typeMapper.GetParameters(edmFunction);
var returnType = _typeMapper.GetReturnType(edmFunction);
var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
if (includeMergeOption)
{
paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
}
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1} {2}({3})",
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
_code.Escape(edmFunction),
paramList);
}
public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
{
var parameters = _typeMapper.GetParameters(edmFunction);
var returnType = _typeMapper.GetReturnType(edmFunction);
var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
if (includeMergeOption)
{
callParams = ", mergeOption" + callParams;
}
return string.Format(
CultureInfo.InvariantCulture,
"return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
edmFunction.Name,
callParams);
}
public string DbSet(EntitySet entitySet)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} virtual DbSet<{1}> {2} {{ get; set; }}",
Accessibility.ForReadOnlyProperty(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType),
_code.Escape(entitySet));
}
public string UsingDirectives(bool inHeader, bool includeCollections = true)
{
return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
? string.Format(
CultureInfo.InvariantCulture,
"{0}using System;{1}" +
"{2}",
inHeader ? Environment.NewLine : "",
includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
inHeader ? "" : Environment.NewLine)
: "";
}
}
public class TypeMapper
{
private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
private readonly System.Collections.IList _errors;
private readonly CodeGenerationTools _code;
private readonly MetadataTools _ef;
public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
{
ArgumentNotNull(code, "code");
ArgumentNotNull(ef, "ef");
ArgumentNotNull(errors, "errors");
_code = code;
_ef = ef;
_errors = errors;
}
public static string FixNamespaces(string typeName)
{
return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
}
public string GetTypeName(TypeUsage typeUsage)
{
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
}
public string GetTypeName(EdmType edmType)
{
return GetTypeName(edmType, isNullable: null, modelNamespace: null);
}
public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
{
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
}
public string GetTypeName(EdmType edmType, string modelNamespace)
{
return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
}
public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
{
if (edmType == null)
{
return null;
}
var collectionType = edmType as CollectionType;
if (collectionType != null)
{
return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
}
var typeName = _code.Escape(edmType.MetadataProperties
.Where(p => p.Name == ExternalTypeNameAttributeName)
.Select(p => (string)p.Value)
.FirstOrDefault())
?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
_code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
_code.Escape(edmType));
if (edmType is StructuralType)
{
return typeName;
}
if (edmType is SimpleType)
{
var clrType = UnderlyingClrType(edmType);
if (!IsEnumType(edmType))
{
typeName = _code.Escape(clrType);
}
typeName = FixNamespaces(typeName);
return clrType.IsValueType && isNullable == true ?
String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
typeName;
}
throw new ArgumentException("edmType");
}
public Type UnderlyingClrType(EdmType edmType)
{
ArgumentNotNull(edmType, "edmType");
var primitiveType = edmType as PrimitiveType;
if (primitiveType != null)
{
return primitiveType.ClrEquivalentType;
}
if (IsEnumType(edmType))
{
return GetEnumUnderlyingType(edmType).ClrEquivalentType;
}
return typeof(object);
}
public object GetEnumMemberValue(MetadataItem enumMember)
{
ArgumentNotNull(enumMember, "enumMember");
var valueProperty = enumMember.GetType().GetProperty("Value");
return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
}
public string GetEnumMemberName(MetadataItem enumMember)
{
ArgumentNotNull(enumMember, "enumMember");
var nameProperty = enumMember.GetType().GetProperty("Name");
return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
}
public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
var membersProperty = enumType.GetType().GetProperty("Members");
return membersProperty != null
? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
: Enumerable.Empty<MetadataItem>();
}
public bool EnumIsFlags(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
}
public bool IsEnumType(GlobalItem edmType)
{
ArgumentNotNull(edmType, "edmType");
return edmType.GetType().Name == "EnumType";
}
public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
{
ArgumentNotNull(enumType, "enumType");
return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
}
public string CreateLiteral(object value)
{
if (value == null || value.GetType() != typeof(TimeSpan))
{
return _code.CreateLiteral(value);
}
return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
}
public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
{
ArgumentNotNull(types, "types");
ArgumentNotNull(sourceFile, "sourceFile");
var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
if (types.Any(item => !hash.Add(item)))
{
_errors.Add(
new CompilerError(sourceFile, -1, -1, "6023",
String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
return false;
}
return true;
}
public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
{
return GetItemsToGenerate<SimpleType>(itemCollection)
.Where(e => IsEnumType(e));
}
public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
{
return itemCollection
.OfType<T>()
.Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
.OrderBy(i => i.Name);
}
public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
{
return itemCollection
.Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
.Select(g => GetGlobalItemName(g));
}
public string GetGlobalItemName(GlobalItem item)
{
if (item is EdmType)
{
return ((EdmType)item).Name;
}
else
{
return ((EntityContainer)item).Name;
}
}
public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
}
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
}
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
}
public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
{
return type.NavigationProperties.Where(np => np.DeclaringType == type);
}
public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
{
return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
}
public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
{
ArgumentNotNull(edmFunction, "edmFunction");
var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
return returnParamsProperty == null
? edmFunction.ReturnParameter
: ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
}
public bool IsComposable(EdmFunction edmFunction)
{
ArgumentNotNull(edmFunction, "edmFunction");
var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
}
public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
{
return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
}
public TypeUsage GetReturnType(EdmFunction edmFunction)
{
var returnParam = GetReturnParameter(edmFunction);
return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
}
public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
{
var returnType = GetReturnType(edmFunction);
return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
}
}
public static void ArgumentNotNull<T>(T arg, string name) where T : class
{
if (arg == null)
{
throw new ArgumentNullException(name);
}
}
#>
\ No newline at end of file
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_dic
{
public int ID { get; set; }
public string Type { get; set; }
public string DicKey { get; set; }
public string DicValue { get; set; }
public System.DateTime CreateTime { get; set; }
public System.DateTime UpdateTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_fund
{
public int ID { get; set; }
public string PROD_CODE { get; set; }
public string PRODTA_NO { get; set; }
public string PROD_NAME { get; set; }
public string PRODRISK_LEVEL { get; set; }
public string PRODRISK_LEVEL_NAME { get; set; }
public string PROD_STATUS { get; set; }
public Nullable<int> PROD_TYPE { get; set; }
public decimal MIN_SHARE2 { get; set; }
public Nullable<decimal> NAV { get; set; }
public decimal PROD_RATIO { get; set; }
public Nullable<int> INCOME_TYPE { get; set; }
public Nullable<int> MONEY_TYPE { get; set; }
public Nullable<decimal> YLD_RAT_1W { get; set; }
public Nullable<decimal> YLD_RAT_1M { get; set; }
public Nullable<decimal> YLD_RAT_3M { get; set; }
public Nullable<int> YLD_RAT_3M_RK { get; set; }
public Nullable<decimal> YLD_RAT_6M { get; set; }
public decimal YLD_RAT_1Y { get; set; }
public Nullable<int> YLD_RAT_1Y_RK { get; set; }
public Nullable<decimal> YLD_RAT { get; set; }
public string FLUC_RAN { get; set; }
public Nullable<int> FLUC_RAN_RANK { get; set; }
public Nullable<decimal> SHP_RAT { get; set; }
public Nullable<int> SHP_RAT_RANK { get; set; }
public Nullable<int> RISK_FCTR { get; set; }
public Nullable<int> RISK_FCTR_RANK { get; set; }
public System.DateTime CreateDate { get; set; }
public System.DateTime CreateTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_fundpool
{
public int ID { get; set; }
public string PROD_CODE { get; set; }
public string PRODTA_NO { get; set; }
public string PROD_NAME { get; set; }
public string PRODRISK_LEVEL { get; set; }
public string PRODRISK_LEVEL_NAME { get; set; }
public Nullable<int> PROD_TYPE { get; set; }
public decimal MIN_SHARE2 { get; set; }
public Nullable<decimal> NAV { get; set; }
public decimal PROD_RATIO { get; set; }
public Nullable<int> INCOME_TYPE { get; set; }
public Nullable<int> MONEY_TYPE { get; set; }
public Nullable<decimal> YLD_RAT_1W { get; set; }
public Nullable<decimal> YLD_RAT_1M { get; set; }
public Nullable<decimal> YLD_RAT_3M { get; set; }
public Nullable<int> YLD_RAT_3M_RK { get; set; }
public Nullable<decimal> YLD_RAT_6M { get; set; }
public decimal YLD_RAT_1Y { get; set; }
public Nullable<int> YLD_RAT_1Y_RK { get; set; }
public Nullable<decimal> YLD_RAT { get; set; }
public string FLUC_RAN { get; set; }
public Nullable<int> FLUC_RAN_RANK { get; set; }
public Nullable<decimal> SHP_RAT { get; set; }
public Nullable<int> SHP_RAT_RANK { get; set; }
public Nullable<int> RISK_FCTR { get; set; }
public Nullable<int> RISK_FCTR_RANK { get; set; }
public Nullable<decimal> Issuing_Scale { get; set; }
public Nullable<int> StarLevel { get; set; }
public Nullable<System.DateTime> FoundationDate { get; set; }
public Nullable<System.DateTime> Redeem { get; set; }
public string BrightSpotLabel { get; set; }
public string URL { get; set; }
public System.DateTime UpdateTime { get; set; }
public System.DateTime CreateTime { get; set; }
public bool IsDelete { get; set; }
public Nullable<System.DateTime> DeleteTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_fundzc
{
public int ID { get; set; }
public string PROD_CODE { get; set; }
public int Type { get; set; }
public string ZCName { get; set; }
public string ZCNo { get; set; }
public Nullable<decimal> ZCRate { get; set; }
public Nullable<int> TOPN { get; set; }
public System.DateTime MediaPubTime { get; set; }
public System.DateTime CrawlerTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_history
{
public long ID { get; set; }
public string Openid { get; set; }
public int RecomType { get; set; }
public string PROD_CODE { get; set; }
public string PROD_NAME { get; set; }
public string BrightSpotLabel { get; set; }
public decimal YLD_RAT_1Y { get; set; }
public string URL { get; set; }
public string SmallTitle { get; set; }
public Nullable<decimal> YLD_RAT_6M { get; set; }
public System.DateTime CreateTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_ranklist
{
public int ID { get; set; }
public int RankType { get; set; }
public string RankKey { get; set; }
public decimal ReturnRatio { get; set; }
public string PROD_CODE { get; set; }
public System.DateTime LastUpdateTimestamp { get; set; }
public System.DateTime CreateTime { get; set; }
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GHRecomDataInterface.EFModels
{
using System;
using System.Collections.Generic;
public partial class ghrecom_userrisk
{
public int ID { get; set; }
public string Openid { get; set; }
public string Risk_Level { get; set; }
public System.DateTime CreateTime { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
......@@ -32,12 +32,27 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="HooLab.Log">
<HintPath>..\..\..\..\worksapce\Palas\include\HooLab.Log.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.10.7\lib\net452\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.Entity.6.10.7\lib\net452\MySql.Data.Entity.EF6.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PalasV5Model">
<HintPath>..\..\..\..\worksapce\Palas\src\EFModels\PalasV5Model\bin\Debug\PalasV5Model.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.5.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.5\lib\net452\Quartz.dll</HintPath>
</Reference>
......@@ -48,9 +63,18 @@
<HintPath>..\packages\Quartz.Plugins.3.0.5\lib\net452\Quartz.Plugins.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Management" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
......@@ -59,6 +83,42 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="EFModels\GHModel.Context.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>GHModel.Context.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\GHModel.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\GHModel.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>GHModel.edmx</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_dic.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_fund.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_fundpool.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_fundzc.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_history.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_ranklist.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="EFModels\ghrecom_userrisk.cs">
<DependentUpon>GHModel.tt</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuartzJobs\mallintf.cs" />
......@@ -72,6 +132,13 @@
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<EntityDeploy Include="EFModels\GHModel.edmx">
<Generator>EntityModelCodeGenerator</Generator>
<LastGenOutput>GHModel.Designer.cs</LastGenOutput>
</EntityDeploy>
<None Include="EFModels\GHModel.edmx.diagram">
<DependentUpon>GHModel.edmx</DependentUpon>
</None>
<None Include="job_scheduling_data_2_0.xsd">
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
......@@ -84,6 +151,16 @@
<None Include="State\ReadMe.md" />
</ItemGroup>
<ItemGroup>
<Content Include="EFModels\GHModel.Context.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<DependentUpon>GHModel.edmx</DependentUpon>
<LastGenOutput>GHModel.Context.cs</LastGenOutput>
</Content>
<Content Include="EFModels\GHModel.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<DependentUpon>GHModel.edmx</DependentUpon>
<LastGenOutput>GHModel.cs</LastGenOutput>
</Content>
<Content Include="quartz_jobs.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
......@@ -94,6 +171,9 @@
<Name>GHHttpClient</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
using System;
using System;
......@@ -4,8 +4,10 @@ using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GHRecomDataInterface.EFModels;
using GHRecomDataInterface.State;
using Newtonsoft.Json;
using PalasV5Model;
using Quartz;
namespace GHRecomDataInterface.QuartzJobs
......@@ -14,9 +16,23 @@ namespace GHRecomDataInterface.QuartzJobs
{
async Task IJob.Execute(IJobExecutionContext context)
{
try
{
{
List<Blocks> blist = new List<Blocks>();
using (PalasV5Context palasV5Context = new PalasV5Context())
{
blist= palasV5Context.Blocks.ToList<Blocks>();
}
List<ghrecom_ranklist> glist = new List<ghrecom_ranklist>();
using (ghrecomEntities ghrecomEntities = new ghrecomEntities())
{
glist= ghrecomEntities.ghrecom_ranklist.ToList<ghrecom_ranklist>();
}
//读取数据
Work emergencyProjects = new Work();
emergencyProjects.Node = 1;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<connectionStrings>
<!--<add name="ghrecomEntities" connectionString="metadata=res://*/Model.Model.csdl|res://*/Model.Model.ssdl|res://*/Model.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;user id=root;password=root;database=ghrecom;persistsecurityinfo=True;port=3306&quot;" providerName="System.Data.EntityClient" />-->
<add name="PalasV5Context" connectionString="server=pubtopic.org;user id=palas;password=lapas;persistsecurityinfo=True;database=Palas_V5" providerName="MySql.Data.MySqlClient" />
<add name="ghrecomEntities" connectionString="metadata=res://*/EFModels.GHModel.csdl|res://*/EFModels.GHModel.ssdl|res://*/EFModels.GHModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;user id=root;password=root;persistsecurityinfo=True;port=3306;database=ghrecom;allowuservariables=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.10.7.0" newVersion="6.10.7.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
<?xml version="1.0"?>
<?xml version="1.0"?>
<doc>
<assembly>
<name>MySql.Data.Entity.EF6</name>
</assembly>
<members>
<member name="T:MySql.Data.Entity.SqlFragmentVisitor">
<summary>
Visitor for SqlFragment and derived classes, useful for postprocessing and optimizations.
</summary>
</member>
<member name="T:MySql.Data.Entity.ReplaceTableNameVisitor">
<summary>
Visitor to replace old table names with new table names. Used as part postprocessing of the code for fusing nested selects.
</summary>
</member>
<member name="T:MySql.Data.Entity.OpType">
<summary>
Specifies the operation types supported.
</summary>
</member>
<member name="M:MySql.Data.Entity.SelectGenerator.TryFlatteningGroupBy(MySql.Data.Entity.SqlFragment)">
<summary>
If input sqlFragment is a group by structure, is flattened to remove some nested correlation queries.
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:MySql.Data.Entity.SqlGenerator.TryFusingSelect(MySql.Data.Entity.InputFragment)">
<summary>
If current fragment is select and its from clause is another select, try fuse the inner select with the outer select.
(Thus removing a nested query, which may have bad performance in Mysql).
</summary>
<param name="f">The fragment to probe and posibly optimize</param>
<returns>The fragment fused, or the original one.</returns>
</member>
<member name="M:MySql.Data.Entity.SqlGenerator.TryPromoteToLike(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
<summary>
Examines a binary expression to see if it is an special case suitable to conversion
to a more efficient and equivalent LIKE sql expression.
</summary>
<param name="left"></param>
<param name="right"></param>
<param name="op"></param>
<returns></returns>
</member>
<member name="T:MySql.Data.Entity.MySqlConnectionFactory">
<summary>
Used for creating connections in Code First 4.3.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlDependencyResolver">
<summary>
Provides the capability to resolve a dependency.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetService(System.Type,System.Object)">
<summary>
Attempts to resolve a dependency for a given contract type and optionally a given key.
</summary>
<param name="type">The base class that defines the dependency to be resolved.</param>
<param name="key">Optionally, the key of the dependency to be resolved.</param>
<returns>The resolved dependency.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetServices(System.Type,System.Object)">
<summary>
Attempts to resolve a dependency for all of the registered services with the given type and key combination.
</summary>
<param name="type">The base class that defines the dependency to be resolved.</param>
<param name="key">Optionally, the key of the dependency to be resolved.</param>
<returns>All services that resolve the dependency.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlProviderInvariantName">
<summary>
Used to resolve a provider invariant name from a provider factory.
</summary>
</member>
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.Name">
<summary>
Gets the name of the provider.
</summary>
</member>
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.ProviderName">
<summary>
Gets the name of the provider.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlProviderFactoryResolver">
<summary>
Service that obtains the provider factory from a given connection.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlProviderFactoryResolver.ResolveProviderFactory(System.Data.Common.DbConnection)">
<summary>
Returns the <see cref="T:System.Data.Common.DbProviderFactory"/> for the given connection.
</summary>
<param name="connection">The database connection.</param>
<returns>The provider factory for the connection.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlManifestTokenResolver">
<summary>
Gets a provider manifest token for the given connection.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlManifestTokenResolver.ResolveManifestToken(System.Data.Common.DbConnection)">
<summary>
Returns the manifest token to use for the given connection.
</summary>
<param name="connection">The connection for which a manifest token is required.</param>
<returns>The manifest token to use.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlModelCacheKey">
<summary>
Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.Equals(System.Object)">
<summary>
Determines whether the current cached model key is equal to the specified cached
model key.
</summary>
<param name="other">The cached model key to compare to the current cached model key.</param>
<returns><c>true</c> if the current cached model key is equal to the specified cached model key;
otherwise, <c>false</c>.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.GetHashCode">
<summary>
Returns the hash function for this cached model key.
</summary>
<returns>The hash function for this cached model key.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlEFConfiguration">
<summary>
Defines the configuration of an application to be used with Entity Framework.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlEFConfiguration.#ctor">
<summary>
Initializes a new instance of <see cref="T:MySql.Data.Entity.MySqlEFConfiguration"/> class.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlExecutionStrategy">
<summary>
An execution strategy tailored for handling MySql Server transient errors.
</summary>
</member>
<member name="F:MySql.Data.Entity.MySqlExecutionStrategy.errorsToRetryOn">
<summary>
Different back off algorithms used for different errors.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithm">
<summary>
The base class for backoff algorithms.
</summary>
<remarks>Different transient error conditions require different approaches.</remarks>
</member>
<member name="M:MySql.Data.Entity.BackoffAlgorithm.GetNextDelay">
<summary>
The default implementation is an exponential delay backoff.
</summary>
<returns></returns>
</member>
<member name="M:MySql.Data.Entity.BackoffAlgorithm.Reset">
<summary>
Resets a backoff algorithm, so they can be reused.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1040">
<summary>
Back-off algorithm customized for the MySql error code 1040 - Too many connections.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1614">
<summary>
Back-off algorithm for the Mysql error code 1614 - Transaction branch was rolled back: deadlock was detected.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1205">
<summary>
Back-off algorithm customized for the MySql error code 1205 - Lock wait timeout exceeded; try restarting transaction.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1213">
<summary>
Back-off algorithm customized for MySql error code 1213 - Deadlock found when trying to get lock; try restarting transaction.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2006">
<summary>
Back-off algorithm customized for MySql error code 2006 - MySQL server has gone away.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2013">
<summary>
Back-off algorithm customized for MySql error code 2013 - Lost connection to MySQL server during query.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmNdb">
<summary>
Back-off algorithm customized for MySql Cluster (NDB) errors.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlHistoryContext">
<summary>
Reads and writes migration history from the database during code first migrations.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlLogger">
<summary>
Enables the creation of MySQL logs for applications.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlMigrationCodeGenerator">
<summary>
Class used to customized code generation
to avoid dbo. prefix added on table names.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlMigrationSqlGenerator">
<summary>
Implementation of a MySql's Sql generator for EF 4.3 data migrations.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
<summary>
Generates a migration operation to add a column.
</summary>
<param name="op">The operation that represents a column being added to a table.</param>
<returns>A migration operation to add a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
<summary>
Generates a migration operation to drop a column.
</summary>
<param name="op">The operation that represents a column being dropped from a table.</param>
<returns>The migration operation to drop a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
<summary>
Generates a migration operation to alter a column.
</summary>
<param name="op">The operation that represents altering an existing column.</param>
<returns>A migration operation to alter a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
<summary>
Generates a migration operation to rename a column.
</summary>
<param name="op">The operation that represents a column being renamed.</param>
<returns>A migration operation to rename a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
<summary>
Generates a migration operation to add a foreign key.
</summary>
<param name="op">the operation that represents a foreing key constraint being added to a table.</param>
<returns>A migration operation to add a foreign key constraint.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.ColumnModel)">
<summary>
Generates an SQL statement of a column model.
</summary>
<param name="op">The model that represents a column.</param>
<returns>A string containing an SQL statement of a column model.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
<summary>
Generates a migration operation to drop a foreign key constraint from a table.
</summary>
<param name="op">The operation that represents a foreign key being added from a table.</param>
<returns>A migration operation to drop a foreign key.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
<summary>
Generates a migration operation to create a database index.
</summary>
<param name="op">The operation that represents creating a database index.</param>
<returns>A migration operation to create a database index.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
<summary>
Generates a migration operation to drop an existing database index.
</summary>
<param name="op">The operation that represents dropping am existing database index.</param>
<returns>A migration operation to drop an existing database index.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
<summary>
Generates a migration operation to create a table.
</summary>
<param name="op">The operation that represents creating a table.</param>
<returns>A migration operation to create a table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
<summary>
Generates a migration operation to drop an existing table.
</summary>
<param name="op">The operation that represents dropping an existing table.</param>
<returns>A migration operation to drop an existing table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
<summary>
Generates a migration operation to add a primary key to a table.
</summary>
<param name="op">The operation that represents adding a primary key to a table.</param>
<returns>A migration operation to add a primary key to a table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
<summary>
Generates a migration operation to drpo an existing primary key.
</summary>
<param name="op">The operation that represents dropping an existing primary key.</param>
<returns>A migration operation to drop an existing primary key.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
<summary>
Generates a migration operation to rename an existing table.
</summary>
<param name="op">The operation that represents renaming an existing table.</param>
<returns>A migration operation to rename an existing table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
<summary>
Not implemented yet.
</summary>
<param name="op">NA</param>
<returns>NA</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
<summary>
Generates a migration operation with a MySQL statement to be executed.
</summary>
<param name="op">The operation representing a MySQL statement to be executed directly against the database.</param>
<returns>A migration operation with a MySQL statement to be executed.</returns>
</member>
<member name="T:MySql.Data.Entity.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.ConnectionMustBeOfTypeMySqlConnection">
<summary>
Looks up a localized string similar to The connection parameter must reference an object of type MySql.Data.MySqlConnection.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.NoStoreTypeForEdmType">
<summary>
Looks up a localized string similar to There is no store type corresponding to the EDM type &apos;{0}&apos; of primitive type &apos;{1}&apos;..
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.TypeNotSupported">
<summary>
Looks up a localized string similar to The underlying provider does not support the type &apos;{0}&apos;..
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.WrongFunctionResultType">
<summary>
Looks up a localized string similar to Result type of a function is expected to be a collection of RowType or PrimitiveType.
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetQueryExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types for a given query command tree
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetFunctionExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbFunctionCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types for a given function command tree
</summary>
</member>
</members>
</doc>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.9.11.0" newVersion="6.9.11.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<connectionStrings>
<add name="PalasV5Context" connectionString="server=pubtopic.org;user id=palas;password=lapas;persistsecurityinfo=True;database=Palas_V5;characterset=utf8" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
......@@ -31,7 +31,7 @@
<!--<start-time>2015-01-22T00:00:00+08:00</start-time>-->
<!--0 0 1 * * ?
0/1 * * * * ?-->
<cron-expression>0 24 0,18 4 7 ? 2018-2018</cron-expression>
<cron-expression>0 48 0,18 5 7 ? 2018-2018</cron-expression>
</cron>
</trigger>
<!--end-每天凌晨1点执行一次-TaikorESJob-->
......
4fdbab51b4b30be65258f473d772331e7bc9202a
2cd07f934bff877b71fd5e7b8905b61d9ace8271
4fdbab51b4b30be65258f473d772331e7bc9202a
2cd07f934bff877b71fd5e7b8905b61d9ace8271
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\quartz_jobs.xml
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\quartz_jobs.xml
......@@ -26,3 +26,16 @@ D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\Newtonsoft.Jso
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\BouncyCastle.Crypto.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\GHHttpClient.pdb
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\Newtonsoft.Json.xml
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\EntityFramework.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\EntityFramework.SqlServer.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\MySql.Data.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\MySql.Data.Entity.EF6.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\PalasV5Model.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\EntityFramework.xml
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\EntityFramework.SqlServer.xml
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\PalasV5Model.pdb
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\PalasV5Model.dll.config
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\zh-Hans\EntityFramework.resources.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\zh-Hans\EntityFramework.SqlServer.resources.dll
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\MySql.Data.xml
D:\smallproject\14.java转C#\TestC\GHRecomDataInterface\bin\Debug\MySql.Data.Entity.EF6.xml
++ "b/14.java\350\275\254C#/TestC/GHRecomDataInterface/obj/Debug/TempPE/EFModels.GHModel.Context.cs.dll"
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="ghrecomModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
<EntityType Name="ghrecom_dic">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="Type" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="DicKey" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="DicValue" Type="String" MaxLength="20" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
<Property Name="UpdateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fund">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODTA_NO" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_STATUS" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_TYPE" Type="Int32" />
<Property Name="MIN_SHARE2" Type="Decimal" Nullable="false" />
<Property Name="NAV" Type="Decimal" />
<Property Name="PROD_RATIO" Type="Decimal" Nullable="false" />
<Property Name="INCOME_TYPE" Type="Int32" />
<Property Name="MONEY_TYPE" Type="Int32" />
<Property Name="YLD_RAT_1W" Type="Decimal" />
<Property Name="YLD_RAT_1M" Type="Decimal" />
<Property Name="YLD_RAT_3M" Type="Decimal" />
<Property Name="YLD_RAT_3M_RK" Type="Int32" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="Int32" />
<Property Name="YLD_RAT" Type="Decimal" />
<Property Name="FLUC_RAN" Type="String" MaxLength="10" FixedLength="false" Unicode="false" />
<Property Name="FLUC_RAN_RANK" Type="Int32" />
<Property Name="SHP_RAT" Type="Decimal" />
<Property Name="SHP_RAT_RANK" Type="Int32" />
<Property Name="RISK_FCTR" Type="Int32" />
<Property Name="RISK_FCTR_RANK" Type="Int32" />
<Property Name="CreateDate" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fundpool">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODTA_NO" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="PROD_TYPE" Type="Int32" />
<Property Name="MIN_SHARE2" Type="Decimal" Nullable="false" />
<Property Name="NAV" Type="Decimal" />
<Property Name="PROD_RATIO" Type="Decimal" Nullable="false" />
<Property Name="INCOME_TYPE" Type="Int32" />
<Property Name="MONEY_TYPE" Type="Int32" />
<Property Name="YLD_RAT_1W" Type="Decimal" />
<Property Name="YLD_RAT_1M" Type="Decimal" />
<Property Name="YLD_RAT_3M" Type="Decimal" />
<Property Name="YLD_RAT_3M_RK" Type="Int32" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="Int32" />
<Property Name="YLD_RAT" Type="Decimal" />
<Property Name="FLUC_RAN" Type="String" MaxLength="10" FixedLength="false" Unicode="false" />
<Property Name="FLUC_RAN_RANK" Type="Int32" />
<Property Name="SHP_RAT" Type="Decimal" />
<Property Name="SHP_RAT_RANK" Type="Int32" />
<Property Name="RISK_FCTR" Type="Int32" />
<Property Name="RISK_FCTR_RANK" Type="Int32" />
<Property Name="Issuing_Scale" Type="Decimal" />
<Property Name="StarLevel" Type="Int32" />
<Property Name="FoundationDate" Type="DateTime" />
<Property Name="Redeem" Type="DateTime" />
<Property Name="BrightSpotLabel" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="URL" Type="String" MaxLength="200" FixedLength="false" Unicode="false" />
<Property Name="UpdateTime" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
<Property Name="IsDelete" Type="Boolean" Nullable="false" />
<Property Name="DeleteTime" Type="DateTime" />
</EntityType>
<EntityType Name="ghrecom_fundzc">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="Type" Type="Int32" Nullable="false" />
<Property Name="ZCName" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="ZCNo" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="ZCRate" Type="Decimal" />
<Property Name="TOPN" Type="Int32" />
<Property Name="MediaPubTime" Type="DateTime" Nullable="false" />
<Property Name="CrawlerTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_history">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int64" Nullable="false" />
<Property Name="Openid" Type="String" MaxLength="50" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="RecomType" Type="Int32" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="PROD_NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="BrightSpotLabel" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="YLD_RAT_1Y" Type="Decimal" Nullable="false" />
<Property Name="URL" Type="String" MaxLength="100" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="SmallTitle" Type="String" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Name="YLD_RAT_6M" Type="Decimal" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_ranklist">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="RankType" Type="Int32" Nullable="false" />
<Property Name="RankKey" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="ReturnRatio" Type="Decimal" Nullable="false" />
<Property Name="PROD_CODE" Type="String" MaxLength="30" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="LastUpdateTimestamp" Type="DateTime" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_userrisk">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" />
<Property Name="Openid" Type="String" MaxLength="50" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="Risk_Level" Type="String" MaxLength="10" FixedLength="false" Unicode="false" Nullable="false" />
<Property Name="CreateTime" Type="DateTime" Nullable="false" />
</EntityType>
<EntityContainer Name="ghrecomEntities" annotation:LazyLoadingEnabled="true">
<EntitySet Name="ghrecom_dic" EntityType="Self.ghrecom_dic" />
<EntitySet Name="ghrecom_fund" EntityType="Self.ghrecom_fund" />
<EntitySet Name="ghrecom_fundpool" EntityType="Self.ghrecom_fundpool" />
<EntitySet Name="ghrecom_fundzc" EntityType="Self.ghrecom_fundzc" />
<EntitySet Name="ghrecom_history" EntityType="Self.ghrecom_history" />
<EntitySet Name="ghrecom_ranklist" EntityType="Self.ghrecom_ranklist" />
<EntitySet Name="ghrecom_userrisk" EntityType="Self.ghrecom_userrisk" />
</EntityContainer>
</Schema>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
<EntityContainerMapping StorageEntityContainer="ghrecomModelStoreContainer" CdmEntityContainer="ghrecomEntities">
<EntitySetMapping Name="ghrecom_dic">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_dic">
<MappingFragment StoreEntitySet="ghrecom_dic">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Type" ColumnName="Type" />
<ScalarProperty Name="DicKey" ColumnName="DicKey" />
<ScalarProperty Name="DicValue" ColumnName="DicValue" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
<ScalarProperty Name="UpdateTime" ColumnName="UpdateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fund">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fund">
<MappingFragment StoreEntitySet="ghrecom_fund">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PRODTA_NO" ColumnName="PRODTA_NO" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="PRODRISK_LEVEL" ColumnName="PRODRISK_LEVEL" />
<ScalarProperty Name="PRODRISK_LEVEL_NAME" ColumnName="PRODRISK_LEVEL_NAME" />
<ScalarProperty Name="PROD_STATUS" ColumnName="PROD_STATUS" />
<ScalarProperty Name="PROD_TYPE" ColumnName="PROD_TYPE" />
<ScalarProperty Name="MIN_SHARE2" ColumnName="MIN_SHARE2" />
<ScalarProperty Name="NAV" ColumnName="NAV" />
<ScalarProperty Name="PROD_RATIO" ColumnName="PROD_RATIO" />
<ScalarProperty Name="INCOME_TYPE" ColumnName="INCOME_TYPE" />
<ScalarProperty Name="MONEY_TYPE" ColumnName="MONEY_TYPE" />
<ScalarProperty Name="YLD_RAT_1W" ColumnName="YLD_RAT_1W" />
<ScalarProperty Name="YLD_RAT_1M" ColumnName="YLD_RAT_1M" />
<ScalarProperty Name="YLD_RAT_3M" ColumnName="YLD_RAT_3M" />
<ScalarProperty Name="YLD_RAT_3M_RK" ColumnName="YLD_RAT_3M_RK" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="YLD_RAT_1Y_RK" ColumnName="YLD_RAT_1Y_RK" />
<ScalarProperty Name="YLD_RAT" ColumnName="YLD_RAT" />
<ScalarProperty Name="FLUC_RAN" ColumnName="FLUC_RAN" />
<ScalarProperty Name="FLUC_RAN_RANK" ColumnName="FLUC_RAN_RANK" />
<ScalarProperty Name="SHP_RAT" ColumnName="SHP_RAT" />
<ScalarProperty Name="SHP_RAT_RANK" ColumnName="SHP_RAT_RANK" />
<ScalarProperty Name="RISK_FCTR" ColumnName="RISK_FCTR" />
<ScalarProperty Name="RISK_FCTR_RANK" ColumnName="RISK_FCTR_RANK" />
<ScalarProperty Name="CreateDate" ColumnName="CreateDate" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fundpool">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fundpool">
<MappingFragment StoreEntitySet="ghrecom_fundpool">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PRODTA_NO" ColumnName="PRODTA_NO" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="PRODRISK_LEVEL" ColumnName="PRODRISK_LEVEL" />
<ScalarProperty Name="PRODRISK_LEVEL_NAME" ColumnName="PRODRISK_LEVEL_NAME" />
<ScalarProperty Name="PROD_TYPE" ColumnName="PROD_TYPE" />
<ScalarProperty Name="MIN_SHARE2" ColumnName="MIN_SHARE2" />
<ScalarProperty Name="NAV" ColumnName="NAV" />
<ScalarProperty Name="PROD_RATIO" ColumnName="PROD_RATIO" />
<ScalarProperty Name="INCOME_TYPE" ColumnName="INCOME_TYPE" />
<ScalarProperty Name="MONEY_TYPE" ColumnName="MONEY_TYPE" />
<ScalarProperty Name="YLD_RAT_1W" ColumnName="YLD_RAT_1W" />
<ScalarProperty Name="YLD_RAT_1M" ColumnName="YLD_RAT_1M" />
<ScalarProperty Name="YLD_RAT_3M" ColumnName="YLD_RAT_3M" />
<ScalarProperty Name="YLD_RAT_3M_RK" ColumnName="YLD_RAT_3M_RK" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="YLD_RAT_1Y_RK" ColumnName="YLD_RAT_1Y_RK" />
<ScalarProperty Name="YLD_RAT" ColumnName="YLD_RAT" />
<ScalarProperty Name="FLUC_RAN" ColumnName="FLUC_RAN" />
<ScalarProperty Name="FLUC_RAN_RANK" ColumnName="FLUC_RAN_RANK" />
<ScalarProperty Name="SHP_RAT" ColumnName="SHP_RAT" />
<ScalarProperty Name="SHP_RAT_RANK" ColumnName="SHP_RAT_RANK" />
<ScalarProperty Name="RISK_FCTR" ColumnName="RISK_FCTR" />
<ScalarProperty Name="RISK_FCTR_RANK" ColumnName="RISK_FCTR_RANK" />
<ScalarProperty Name="Issuing_Scale" ColumnName="Issuing_Scale" />
<ScalarProperty Name="StarLevel" ColumnName="StarLevel" />
<ScalarProperty Name="FoundationDate" ColumnName="FoundationDate" />
<ScalarProperty Name="Redeem" ColumnName="Redeem" />
<ScalarProperty Name="BrightSpotLabel" ColumnName="BrightSpotLabel" />
<ScalarProperty Name="URL" ColumnName="URL" />
<ScalarProperty Name="UpdateTime" ColumnName="UpdateTime" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
<ScalarProperty Name="IsDelete" ColumnName="IsDelete" />
<ScalarProperty Name="DeleteTime" ColumnName="DeleteTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_fundzc">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_fundzc">
<MappingFragment StoreEntitySet="ghrecom_fundzc">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="Type" ColumnName="Type" />
<ScalarProperty Name="ZCName" ColumnName="ZCName" />
<ScalarProperty Name="ZCNo" ColumnName="ZCNo" />
<ScalarProperty Name="ZCRate" ColumnName="ZCRate" />
<ScalarProperty Name="TOPN" ColumnName="TOPN" />
<ScalarProperty Name="MediaPubTime" ColumnName="MediaPubTime" />
<ScalarProperty Name="CrawlerTime" ColumnName="CrawlerTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_history">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_history">
<MappingFragment StoreEntitySet="ghrecom_history">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Openid" ColumnName="Openid" />
<ScalarProperty Name="RecomType" ColumnName="RecomType" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="PROD_NAME" ColumnName="PROD_NAME" />
<ScalarProperty Name="BrightSpotLabel" ColumnName="BrightSpotLabel" />
<ScalarProperty Name="YLD_RAT_1Y" ColumnName="YLD_RAT_1Y" />
<ScalarProperty Name="URL" ColumnName="URL" />
<ScalarProperty Name="SmallTitle" ColumnName="SmallTitle" />
<ScalarProperty Name="YLD_RAT_6M" ColumnName="YLD_RAT_6M" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_ranklist">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_ranklist">
<MappingFragment StoreEntitySet="ghrecom_ranklist">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="RankType" ColumnName="RankType" />
<ScalarProperty Name="RankKey" ColumnName="RankKey" />
<ScalarProperty Name="ReturnRatio" ColumnName="ReturnRatio" />
<ScalarProperty Name="PROD_CODE" ColumnName="PROD_CODE" />
<ScalarProperty Name="LastUpdateTimestamp" ColumnName="LastUpdateTimestamp" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ghrecom_userrisk">
<EntityTypeMapping TypeName="ghrecomModel.ghrecom_userrisk">
<MappingFragment StoreEntitySet="ghrecom_userrisk">
<ScalarProperty Name="ID" ColumnName="ID" />
<ScalarProperty Name="Openid" ColumnName="Openid" />
<ScalarProperty Name="Risk_Level" ColumnName="Risk_Level" />
<ScalarProperty Name="CreateTime" ColumnName="CreateTime" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
</EntityContainerMapping>
</Mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="ghrecomModel.Store" Provider="MySql.Data.MySqlClient" ProviderManifestToken="5.7" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
<EntityType Name="ghrecom_dic">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="Type" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="DicKey" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="DicValue" Type="varchar" MaxLength="20" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="UpdateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fund">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODTA_NO" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="varchar" MaxLength="30" />
<Property Name="PROD_STATUS" Type="varchar" MaxLength="30" />
<Property Name="PROD_TYPE" Type="int" />
<Property Name="MIN_SHARE2" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="NAV" Type="decimal" Precision="38" Scale="6" />
<Property Name="PROD_RATIO" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="INCOME_TYPE" Type="int" />
<Property Name="MONEY_TYPE" Type="int" />
<Property Name="YLD_RAT_1W" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M_RK" Type="int" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="int" />
<Property Name="YLD_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="FLUC_RAN" Type="varchar" MaxLength="10" />
<Property Name="FLUC_RAN_RANK" Type="int" />
<Property Name="SHP_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="SHP_RAT_RANK" Type="int" />
<Property Name="RISK_FCTR" Type="int" />
<Property Name="RISK_FCTR_RANK" Type="int" />
<Property Name="CreateDate" Type="date" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_fundpool">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODTA_NO" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PRODRISK_LEVEL_NAME" Type="varchar" MaxLength="30" />
<Property Name="PROD_TYPE" Type="int" />
<Property Name="MIN_SHARE2" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="NAV" Type="decimal" Precision="38" Scale="6" />
<Property Name="PROD_RATIO" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="INCOME_TYPE" Type="int" />
<Property Name="MONEY_TYPE" Type="int" />
<Property Name="YLD_RAT_1W" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_3M_RK" Type="int" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="YLD_RAT_1Y_RK" Type="int" />
<Property Name="YLD_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="FLUC_RAN" Type="varchar" MaxLength="10" />
<Property Name="FLUC_RAN_RANK" Type="int" />
<Property Name="SHP_RAT" Type="decimal" Precision="38" Scale="6" />
<Property Name="SHP_RAT_RANK" Type="int" />
<Property Name="RISK_FCTR" Type="int" />
<Property Name="RISK_FCTR_RANK" Type="int" />
<Property Name="Issuing_Scale" Type="decimal" Precision="38" Scale="6" />
<Property Name="StarLevel" Type="int" />
<Property Name="FoundationDate" Type="datetime" Precision="0" />
<Property Name="Redeem" Type="datetime" Precision="0" />
<Property Name="BrightSpotLabel" Type="varchar" MaxLength="30" />
<Property Name="URL" Type="varchar" MaxLength="200" />
<Property Name="UpdateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="IsDelete" Type="bit" Nullable="false" />
<Property Name="DeleteTime" Type="datetime" Precision="0" />
</EntityType>
<EntityType Name="ghrecom_fundzc">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="Type" Type="int" Nullable="false" />
<Property Name="ZCName" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="ZCNo" Type="varchar" MaxLength="30" />
<Property Name="ZCRate" Type="decimal" Precision="38" Scale="6" />
<Property Name="TOPN" Type="int" />
<Property Name="MediaPubTime" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CrawlerTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_history">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="bigint" Nullable="false" />
<Property Name="Openid" Type="varchar" MaxLength="50" Nullable="false" />
<Property Name="RecomType" Type="int" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="PROD_NAME" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="BrightSpotLabel" Type="varchar" MaxLength="30" />
<Property Name="YLD_RAT_1Y" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="URL" Type="varchar" MaxLength="100" Nullable="false" />
<Property Name="SmallTitle" Type="varchar" MaxLength="30" />
<Property Name="YLD_RAT_6M" Type="decimal" Precision="38" Scale="6" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_ranklist">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="RankType" Type="int" Nullable="false" />
<Property Name="RankKey" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="ReturnRatio" Type="decimal" Precision="38" Scale="6" Nullable="false" />
<Property Name="PROD_CODE" Type="varchar" MaxLength="30" Nullable="false" />
<Property Name="LastUpdateTimestamp" Type="datetime" Precision="0" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityType Name="ghrecom_userrisk">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" Nullable="false" />
<Property Name="Openid" Type="varchar" MaxLength="50" Nullable="false" />
<Property Name="Risk_Level" Type="varchar" MaxLength="10" Nullable="false" />
<Property Name="CreateTime" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
<EntityContainer Name="ghrecomModelStoreContainer">
<EntitySet Name="ghrecom_dic" EntityType="Self.ghrecom_dic" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fund" EntityType="Self.ghrecom_fund" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fundpool" EntityType="Self.ghrecom_fundpool" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_fundzc" EntityType="Self.ghrecom_fundzc" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_history" EntityType="Self.ghrecom_history" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_ranklist" EntityType="Self.ghrecom_ranklist" Schema="ghrecom" store:Type="Tables" />
<EntitySet Name="ghrecom_userrisk" EntityType="Self.ghrecom_userrisk" Schema="ghrecom" store:Type="Tables" />
</EntityContainer>
</Schema>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net461" />
<package id="EntityFramework.zh-Hans" version="6.1.3" targetFramework="net461" />
<package id="MySql.Data" version="6.10.7" targetFramework="net461" />
<package id="MySql.Data.Entity" version="6.10.7" targetFramework="net461" />
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
<package id="Quartz" version="3.0.5" targetFramework="net461" />
<package id="Quartz.Jobs" version="3.0.5" targetFramework="net461" />
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
......@@ -31,7 +31,7 @@
<!--<start-time>2015-01-22T00:00:00+08:00</start-time>-->
<!--0 0 1 * * ?
0/1 * * * * ?-->
<cron-expression>0 24 0,18 4 7 ? 2018-2018</cron-expression>
<cron-expression>0 48 0,18 5 7 ? 2018-2018</cron-expression>
</cron>
</trigger>
<!--end-每天凌晨1点执行一次-TaikorESJob-->
......
<configuration>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
</configuration>
<configuration>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
</configuration>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
# Copyright (c) Microsoft Corporation. All rights reserved.
# Copyright (c) Microsoft Corporation. All rights reserved.
$InitialDatabase = '0'
$knownExceptions = @(
'System.Data.Entity.Migrations.Infrastructure.MigrationsException',
'System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException',
'System.Data.Entity.Migrations.Infrastructure.AutomaticDataLossException',
'System.Data.Entity.Migrations.Infrastructure.MigrationsPendingException',
'System.Data.Entity.Migrations.ProjectTypeNotSupportedException'
)
<#
.SYNOPSIS
Adds or updates an Entity Framework provider entry in the project config
file.
.DESCRIPTION
Adds an entry into the 'entityFramework' section of the project config
file for the specified provider invariant name and provider type. If an
entry for the given invariant name already exists, then that entry is
updated with the given type name, unless the given type name already
matches, in which case no action is taken. The 'entityFramework'
section is added if it does not exist. The config file is automatically
saved if and only if a change was made.
This command is typically used only by Entity Framework provider NuGet
packages and is run from the 'install.ps1' script.
.PARAMETER Project
The Visual Studio project to update. When running in the NuGet install.ps1
script the '$project' variable provided as part of that script should be
used.
.PARAMETER InvariantName
The provider invariant name that uniquely identifies this provider. For
example, the Microsoft SQL Server provider is registered with the invariant
name 'System.Data.SqlClient'.
.PARAMETER TypeName
The assembly-qualified type name of the provider-specific type that
inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For
example, for the Microsoft SQL Server provider, this type is
'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'.
#>
function Add-EFProvider
{
param (
[parameter(Position = 0,
Mandatory = $true)]
$Project,
[parameter(Position = 1,
Mandatory = $true)]
[string] $InvariantName,
[parameter(Position = 2,
Mandatory = $true)]
[string] $TypeName
)
if (!(Check-Project $project))
{
return
}
$runner = New-EFConfigRunner $Project
try
{
Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.AddProviderCommand @( $InvariantName, $TypeName )
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Adds or updates an Entity Framework default connection factory in the
project config file.
.DESCRIPTION
Adds an entry into the 'entityFramework' section of the project config
file for the connection factory that Entity Framework will use by default
when creating new connections by convention. Any existing entry will be
overridden if it does not match. The 'entityFramework' section is added if
it does not exist. The config file is automatically saved if and only if
a change was made.
This command is typically used only by Entity Framework provider NuGet
packages and is run from the 'install.ps1' script.
.PARAMETER Project
The Visual Studio project to update. When running in the NuGet install.ps1
script the '$project' variable provided as part of that script should be
used.
.PARAMETER TypeName
The assembly-qualified type name of the connection factory type that
implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory'
interface. For example, for the Microsoft SQL Server Express provider
connection factory, this type is
'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'.
.PARAMETER ConstructorArguments
An optional array of strings that will be passed as arguments to the
connection factory type constructor.
#>
function Add-EFDefaultConnectionFactory
{
param (
[parameter(Position = 0,
Mandatory = $true)]
$Project,
[parameter(Position = 1,
Mandatory = $true)]
[string] $TypeName,
[string[]] $ConstructorArguments
)
if (!(Check-Project $project))
{
return
}
$runner = New-EFConfigRunner $Project
try
{
Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.AddDefaultConnectionFactoryCommand @( $TypeName, $ConstructorArguments )
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Initializes the Entity Framework section in the project config file
and sets defaults.
.DESCRIPTION
Creates the 'entityFramework' section of the project config file and sets
the default connection factory to use SQL Express if it is running on the
machine, or LocalDb otherwise. Note that installing a different provider
may change the default connection factory. The config file is
automatically saved if and only if a change was made.
In addition, any reference to 'System.Data.Entity.dll' in the project is
removed.
This command is typically used only by Entity Framework provider NuGet
packages and is run from the 'install.ps1' script.
.PARAMETER Project
The Visual Studio project to update. When running in the NuGet install.ps1
script the '$project' variable provided as part of that script should be
used.
#>
function Initialize-EFConfiguration
{
param (
[parameter(Position = 0,
Mandatory = $true)]
$Project
)
if (!(Check-Project $project))
{
return
}
$runner = New-EFConfigRunner $Project
try
{
Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Enables Code First Migrations in a project.
.DESCRIPTION
Enables Migrations by scaffolding a migrations configuration class in the project. If the
target database was created by an initializer, an initial migration will be created (unless
automatic migrations are enabled via the EnableAutomaticMigrations parameter).
.PARAMETER ContextTypeName
Specifies the context to use. If omitted, migrations will attempt to locate a
single context type in the target project.
.PARAMETER EnableAutomaticMigrations
Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration.
If omitted, automatic migrations will be disabled.
.PARAMETER MigrationsDirectory
Specifies the name of the directory that will contain migrations code files.
If omitted, the directory will be named "Migrations".
.PARAMETER ProjectName
Specifies the project that the scaffolded migrations configuration class will
be added to. If omitted, the default project selected in package manager
console is used.
.PARAMETER StartUpProjectName
Specifies the configuration file to use for named connection strings. If
omitted, the specified project's configuration file is used.
.PARAMETER ContextProjectName
Specifies the project which contains the DbContext class to use. If omitted,
the context is assumed to be in the same project used for migrations.
.PARAMETER ConnectionStringName
Specifies the name of a connection string to use from the application's
configuration file.
.PARAMETER ConnectionString
Specifies the the connection string to use. If omitted, the context's
default connection will be used.
.PARAMETER ConnectionProviderName
Specifies the provider invariant name of the connection string.
.PARAMETER Force
Specifies that the migrations configuration be overwritten when running more
than once for a given project.
.PARAMETER ContextAssemblyName
Specifies the name of the assembly which contains the DbContext class to use. Use this
parameter instead of ContextProjectName when the context is contained in a referenced
assembly rather than in a project of the solution.
.PARAMETER AppDomainBaseDirectory
Specifies the directory to use for the app-domain that is used for running Migrations
code such that the app-domain is able to find all required assemblies. This is an
advanced option that should only be needed if the solution contains several projects
such that the assemblies needed for the context and configuration are not all
referenced from either the project containing the context or the project containing
the migrations.
.EXAMPLE
Enable-Migrations
# Scaffold a migrations configuration in a project with only one context
.EXAMPLE
Enable-Migrations -Auto
# Scaffold a migrations configuration with automatic migrations enabled for a project
# with only one context
.EXAMPLE
Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName
# Scaffold a migrations configuration for a project with multiple contexts
# This scaffolds a migrations configuration for MyContext and will put the configuration
# and subsequent configurations in a new directory called "DirectoryName"
#>
function Enable-Migrations
{
[CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
param (
[string] $ContextTypeName,
[alias('Auto')]
[switch] $EnableAutomaticMigrations,
[string] $MigrationsDirectory,
[string] $ProjectName,
[string] $StartUpProjectName,
[string] $ContextProjectName,
[parameter(ParameterSetName = 'ConnectionStringName')]
[string] $ConnectionStringName,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionString,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionProviderName,
[switch] $Force,
[string] $ContextAssemblyName,
[string] $AppDomainBaseDirectory
)
$runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ContextProjectName $null $ConnectionStringName $ConnectionString $ConnectionProviderName $ContextAssemblyName $AppDomainBaseDirectory
try
{
Invoke-RunnerCommand $runner System.Data.Entity.Migrations.EnableMigrationsCommand @( $EnableAutomaticMigrations.IsPresent, $Force.IsPresent ) @{ 'ContextTypeName' = $ContextTypeName; 'MigrationsDirectory' = $MigrationsDirectory }
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
$(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Scaffolds a migration script for any pending model changes.
.DESCRIPTION
Scaffolds a new migration script and adds it to the project.
.PARAMETER Name
Specifies the name of the custom script.
.PARAMETER Force
Specifies that the migration user code be overwritten when re-scaffolding an
existing migration.
.PARAMETER ProjectName
Specifies the project that contains the migration configuration type to be
used. If omitted, the default project selected in package manager console
is used.
.PARAMETER StartUpProjectName
Specifies the configuration file to use for named connection strings. If
omitted, the specified project's configuration file is used.
.PARAMETER ConfigurationTypeName
Specifies the migrations configuration to use. If omitted, migrations will
attempt to locate a single migrations configuration type in the target
project.
.PARAMETER ConnectionStringName
Specifies the name of a connection string to use from the application's
configuration file.
.PARAMETER ConnectionString
Specifies the the connection string to use. If omitted, the context's
default connection will be used.
.PARAMETER ConnectionProviderName
Specifies the provider invariant name of the connection string.
.PARAMETER IgnoreChanges
Scaffolds an empty migration ignoring any pending changes detected in the current model.
This can be used to create an initial, empty migration to enable Migrations for an existing
database. N.B. Doing this assumes that the target database schema is compatible with the
current model.
.PARAMETER AppDomainBaseDirectory
Specifies the directory to use for the app-domain that is used for running Migrations
code such that the app-domain is able to find all required assemblies. This is an
advanced option that should only be needed if the solution contains several projects
such that the assemblies needed for the context and configuration are not all
referenced from either the project containing the context or the project containing
the migrations.
.EXAMPLE
Add-Migration First
# Scaffold a new migration named "First"
.EXAMPLE
Add-Migration First -IgnoreChanges
# Scaffold an empty migration ignoring any pending changes detected in the current model.
# This can be used to create an initial, empty migration to enable Migrations for an existing
# database. N.B. Doing this assumes that the target database schema is compatible with the
# current model.
#>
function Add-Migration
{
[CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
param (
[parameter(Position = 0,
Mandatory = $true)]
[string] $Name,
[switch] $Force,
[string] $ProjectName,
[string] $StartUpProjectName,
[string] $ConfigurationTypeName,
[parameter(ParameterSetName = 'ConnectionStringName')]
[string] $ConnectionStringName,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionString,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionProviderName,
[switch] $IgnoreChanges,
[string] $AppDomainBaseDirectory)
$runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName $null $AppDomainBaseDirectory
try
{
Invoke-RunnerCommand $runner System.Data.Entity.Migrations.AddMigrationCommand @( $Name, $Force.IsPresent, $IgnoreChanges.IsPresent )
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
$(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Applies any pending migrations to the database.
.DESCRIPTION
Updates the database to the current model by applying pending migrations.
.PARAMETER SourceMigration
Only valid with -Script. Specifies the name of a particular migration to use
as the update's starting point. If omitted, the last applied migration in
the database will be used.
.PARAMETER TargetMigration
Specifies the name of a particular migration to update the database to. If
omitted, the current model will be used.
.PARAMETER Script
Generate a SQL script rather than executing the pending changes directly.
.PARAMETER Force
Specifies that data loss is acceptable during automatic migration of the
database.
.PARAMETER ProjectName
Specifies the project that contains the migration configuration type to be
used. If omitted, the default project selected in package manager console
is used.
.PARAMETER StartUpProjectName
Specifies the configuration file to use for named connection strings. If
omitted, the specified project's configuration file is used.
.PARAMETER ConfigurationTypeName
Specifies the migrations configuration to use. If omitted, migrations will
attempt to locate a single migrations configuration type in the target
project.
.PARAMETER ConnectionStringName
Specifies the name of a connection string to use from the application's
configuration file.
.PARAMETER ConnectionString
Specifies the the connection string to use. If omitted, the context's
default connection will be used.
.PARAMETER ConnectionProviderName
Specifies the provider invariant name of the connection string.
.PARAMETER AppDomainBaseDirectory
Specifies the directory to use for the app-domain that is used for running Migrations
code such that the app-domain is able to find all required assemblies. This is an
advanced option that should only be needed if the solution contains several projects
such that the assemblies needed for the context and configuration are not all
referenced from either the project containing the context or the project containing
the migrations.
.EXAMPLE
Update-Database
# Update the database to the latest migration
.EXAMPLE
Update-Database -TargetMigration Second
# Update database to a migration named "Second"
# This will apply migrations if the target hasn't been applied or roll back migrations
# if it has
.EXAMPLE
Update-Database -Script
# Generate a script to update the database from it's current state to the latest migration
.EXAMPLE
Update-Database -Script -SourceMigration Second -TargetMigration First
# Generate a script to migrate the database from a specified start migration
# named "Second" to a specified target migration named "First"
.EXAMPLE
Update-Database -Script -SourceMigration $InitialDatabase
# Generate a script that can upgrade a database currently at any version to the latest version.
# The generated script includes logic to check the __MigrationsHistory table and only apply changes
# that haven't been previously applied.
.EXAMPLE
Update-Database -TargetMigration $InitialDatabase
# Runs the Down method to roll-back any migrations that have been applied to the database
#>
function Update-Database
{
[CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
param (
[string] $SourceMigration,
[string] $TargetMigration,
[switch] $Script,
[switch] $Force,
[string] $ProjectName,
[string] $StartUpProjectName,
[string] $ConfigurationTypeName,
[parameter(ParameterSetName = 'ConnectionStringName')]
[string] $ConnectionStringName,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionString,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionProviderName,
[string] $AppDomainBaseDirectory)
$runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName $null $AppDomainBaseDirectory
try
{
Invoke-RunnerCommand $runner System.Data.Entity.Migrations.UpdateDatabaseCommand @( $SourceMigration, $TargetMigration, $Script.IsPresent, $Force.IsPresent, $Verbose.IsPresent )
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
$(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()
}
finally
{
Remove-Runner $runner
}
}
<#
.SYNOPSIS
Displays the migrations that have been applied to the target database.
.DESCRIPTION
Displays the migrations that have been applied to the target database.
.PARAMETER ProjectName
Specifies the project that contains the migration configuration type to be
used. If omitted, the default project selected in package manager console
is used.
.PARAMETER StartUpProjectName
Specifies the configuration file to use for named connection strings. If
omitted, the specified project's configuration file is used.
.PARAMETER ConfigurationTypeName
Specifies the migrations configuration to use. If omitted, migrations will
attempt to locate a single migrations configuration type in the target
project.
.PARAMETER ConnectionStringName
Specifies the name of a connection string to use from the application's
configuration file.
.PARAMETER ConnectionString
Specifies the the connection string to use. If omitted, the context's
default connection will be used.
.PARAMETER ConnectionProviderName
Specifies the provider invariant name of the connection string.
.PARAMETER AppDomainBaseDirectory
Specifies the directory to use for the app-domain that is used for running Migrations
code such that the app-domain is able to find all required assemblies. This is an
advanced option that should only be needed if the solution contains several projects
such that the assemblies needed for the context and configuration are not all
referenced from either the project containing the context or the project containing
the migrations.
#>
function Get-Migrations
{
[CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
param (
[string] $ProjectName,
[string] $StartUpProjectName,
[string] $ConfigurationTypeName,
[parameter(ParameterSetName = 'ConnectionStringName')]
[string] $ConnectionStringName,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionString,
[parameter(ParameterSetName = 'ConnectionStringAndProviderName',
Mandatory = $true)]
[string] $ConnectionProviderName,
[string] $AppDomainBaseDirectory)
$runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName $null $AppDomainBaseDirectory
try
{
Invoke-RunnerCommand $runner System.Data.Entity.Migrations.GetMigrationsCommand
$error = Get-RunnerError $runner
if ($error)
{
if ($knownExceptions -notcontains $error.TypeName)
{
Write-Host $error.StackTrace
}
else
{
Write-Verbose $error.StackTrace
}
throw $error.Message
}
}
finally
{
Remove-Runner $runner
}
}
function New-MigrationsRunner($ProjectName, $StartUpProjectName, $ContextProjectName, $ConfigurationTypeName, $ConnectionStringName, $ConnectionString, $ConnectionProviderName, $ContextAssemblyName, $AppDomainBaseDirectory)
{
$startUpProject = Get-MigrationsStartUpProject $StartUpProjectName $ProjectName
Build-Project $startUpProject
$project = Get-MigrationsProject $ProjectName
Build-Project $project
$contextProject = $project
if ($ContextProjectName)
{
$contextProject = Get-SingleProject $ContextProjectName
Build-Project $contextProject
}
$installPath = Get-EntityFrameworkInstallPath $project
$toolsPath = Join-Path $installPath tools
$info = New-AppDomainSetup $project $installPath
$domain = [AppDomain]::CreateDomain('Migrations', $null, $info)
$domain.SetData('project', $project)
$domain.SetData('contextProject', $contextProject)
$domain.SetData('startUpProject', $startUpProject)
$domain.SetData('configurationTypeName', $ConfigurationTypeName)
$domain.SetData('connectionStringName', $ConnectionStringName)
$domain.SetData('connectionString', $ConnectionString)
$domain.SetData('connectionProviderName', $ConnectionProviderName)
$domain.SetData('contextAssemblyName', $ContextAssemblyName)
$domain.SetData('appDomainBaseDirectory', $AppDomainBaseDirectory)
$dispatcher = New-DomainDispatcher $toolsPath
$domain.SetData('efDispatcher', $dispatcher)
return @{
Domain = $domain;
ToolsPath = $toolsPath
}
}
function New-EFConfigRunner($Project)
{
$installPath = Get-EntityFrameworkInstallPath $Project
$toolsPath = Join-Path $installPath tools
$info = New-AppDomainSetup $Project $installPath
$domain = [AppDomain]::CreateDomain('EFConfig', $null, $info)
$domain.SetData('project', $Project)
$dispatcher = New-DomainDispatcher $toolsPath
$domain.SetData('efDispatcher', $dispatcher)
return @{
Domain = $domain;
ToolsPath = $toolsPath
}
}
function New-AppDomainSetup($Project, $InstallPath)
{
$info = New-Object System.AppDomainSetup -Property @{
ShadowCopyFiles = 'true';
ApplicationBase = $InstallPath;
PrivateBinPath = 'tools';
ConfigurationFile = ([AppDomain]::CurrentDomain.SetupInformation.ConfigurationFile)
}
$targetFrameworkVersion = (New-Object System.Runtime.Versioning.FrameworkName ($Project.Properties.Item('TargetFrameworkMoniker').Value)).Version
if ($targetFrameworkVersion -lt (New-Object Version @( 4, 5 )))
{
$info.PrivateBinPath += ';lib\net40'
}
else
{
$info.PrivateBinPath += ';lib\net45'
}
return $info
}
function New-DomainDispatcher($ToolsPath)
{
$utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path $ToolsPath EntityFramework.PowerShell.Utility.dll))
$dispatcher = $utilityAssembly.CreateInstance(
'System.Data.Entity.Migrations.Utilities.DomainDispatcher',
$false,
[System.Reflection.BindingFlags]::Instance -bor [System.Reflection.BindingFlags]::Public,
$null,
$PSCmdlet,
$null,
$null)
return $dispatcher
}
function Remove-Runner($runner)
{
[AppDomain]::Unload($runner.Domain)
}
function Invoke-RunnerCommand($runner, $command, $parameters, $anonymousArguments)
{
$domain = $runner.Domain
if ($anonymousArguments)
{
$anonymousArguments.GetEnumerator() | %{
$domain.SetData($_.Name, $_.Value)
}
}
$domain.CreateInstanceFrom(
(Join-Path $runner.ToolsPath EntityFramework.PowerShell.dll),
$command,
$false,
0,
$null,
$parameters,
$null,
$null) | Out-Null
}
function Get-RunnerError($runner)
{
$domain = $runner.Domain
if (!$domain.GetData('wasError'))
{
return $null
}
return @{
Message = $domain.GetData('error.Message');
TypeName = $domain.GetData('error.TypeName');
StackTrace = $domain.GetData('error.StackTrace')
}
}
function Get-MigrationsProject($name, $hideMessage)
{
if ($name)
{
return Get-SingleProject $name
}
$project = Get-Project
$projectName = $project.Name
if (!$hideMessage)
{
Write-Verbose "Using NuGet project '$projectName'."
}
return $project
}
function Get-MigrationsStartUpProject($name, $fallbackName)
{
$startUpProject = $null
if ($name)
{
$startUpProject = Get-SingleProject $name
}
else
{
$startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects
if ($startupProjectPaths)
{
if ($startupProjectPaths.Length -eq 1)
{
$startupProjectPath = $startupProjectPaths[0]
if (!(Split-Path -IsAbsolute $startupProjectPath))
{
$solutionPath = Split-Path $DTE.Solution.Properties.Item('Path').Value
$startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve
}
$startupProject = Get-SolutionProjects | ?{
try
{
$fullName = $_.FullName
}
catch [NotImplementedException]
{
return $false
}
if ($fullName -and $fullName.EndsWith('\'))
{
$fullName = $fullName.Substring(0, $fullName.Length - 1)
}
return $fullName -eq $startupProjectPath
}
}
else
{
Write-Verbose 'More than one start-up project found.'
}
}
else
{
Write-Verbose 'No start-up project found.'
}
}
if (!($startUpProject -and (Test-StartUpProject $startUpProject)))
{
$startUpProject = Get-MigrationsProject $fallbackName $true
$startUpProjectName = $startUpProject.Name
Write-Warning "Cannot determine a valid start-up project. Using project '$startUpProjectName' instead. Your configuration file and working directory may not be set as expected. Use the -StartUpProjectName parameter to set one explicitly. Use the -Verbose switch for more information."
}
else
{
$startUpProjectName = $startUpProject.Name
Write-Verbose "Using StartUp project '$startUpProjectName'."
}
return $startUpProject
}
function Get-SolutionProjects()
{
$projects = New-Object System.Collections.Stack
$DTE.Solution.Projects | %{
$projects.Push($_)
}
while ($projects.Count -ne 0)
{
$project = $projects.Pop();
# NOTE: This line is similar to doing a "yield return" in C#
$project
if ($project.ProjectItems)
{
$project.ProjectItems | ?{ $_.SubProject } | %{
$projects.Push($_.SubProject)
}
}
}
}
function Get-SingleProject($name)
{
$project = Get-Project $name
if ($project -is [array])
{
throw "More than one project '$name' was found. Specify the full name of the one to use."
}
return $project
}
function Test-StartUpProject($project)
{
if ($project.Kind -eq '{cc5fd16d-436d-48ad-a40c-5a424c6e3e79}')
{
$projectName = $project.Name
Write-Verbose "Cannot use start-up project '$projectName'. The Windows Azure Project type isn't supported."
return $false
}
return $true
}
function Build-Project($project)
{
$configuration = $DTE.Solution.SolutionBuild.ActiveConfiguration.Name
$DTE.Solution.SolutionBuild.BuildProject($configuration, $project.UniqueName, $true)
if ($DTE.Solution.SolutionBuild.LastBuildInfo)
{
$projectName = $project.Name
throw "The project '$projectName' failed to build."
}
}
function Get-EntityFrameworkInstallPath($project)
{
$package = Get-Package -ProjectName $project.FullName | ?{ $_.Id -eq 'EntityFramework' }
if (!$package)
{
$projectName = $project.Name
throw "The EntityFramework package is not installed on project '$projectName'."
}
return Get-PackageInstallPath $package
}
function Get-PackageInstallPath($package)
{
$componentModel = Get-VsComponentModel
$packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices])
$vsPackage = $packageInstallerServices.GetInstalledPackages() | ?{ $_.Id -eq $package.Id -and $_.Version -eq $package.Version }
return $vsPackage.InstallPath
}
function Check-Project($project)
{
if (!$project.FullName)
{
throw "The Project argument must refer to a Visual Studio project. Use the '`$project' variable provided by NuGet when running in install.ps1."
}
return $project.CodeModel
}
Export-ModuleMember @( 'Enable-Migrations', 'Add-Migration', 'Update-Database', 'Get-Migrations', 'Add-EFProvider', 'Add-EFDefaultConnectionFactory', 'Initialize-EFConfiguration') -Variable InitialDatabase
# SIG # Begin signature block
# MIIa2AYJKoZIhvcNAQcCoIIayTCCGsUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU3poUYDlTlwf2GyqxNJ7CRJO4
# tk2gghV6MIIEuzCCA6OgAwIBAgITMwAAAFrtL/TkIJk/OgAAAAAAWjANBgkqhkiG
# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTQwNTIzMTcxMzE1
# WhcNMTUwODIzMTcxMzE1WjCBqzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# DTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjpCOEVDLTMw
# QTQtNzE0NDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC
# ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALMhIt9q0L/7KcnVbHqJqY0T
# vJS16X0pZdp/9B+rDHlhZlRhlgfw1GBLMZsJr30obdCle4dfdqHSxinHljqjXxeM
# duC3lgcPx2JhtLaq9kYUKQMuJrAdSgjgfdNcMBKmm/a5Dj1TFmmdu2UnQsHoMjUO
# 9yn/3lsgTLsvaIQkD6uRxPPOKl5YRu2pRbRptlQmkRJi/W8O5M/53D/aKWkfSq7u
# wIJC64Jz6VFTEb/dqx1vsgpQeAuD7xsIsxtnb9MFfaEJn8J3iKCjWMFP/2fz3uzH
# 9TPcikUOlkYUKIccYLf1qlpATHC1acBGyNTo4sWQ3gtlNdRUgNLpnSBWr9TfzbkC
# AwEAAaOCAQkwggEFMB0GA1UdDgQWBBS+Z+AuAhuvCnINOh1/jJ1rImYR9zAfBgNV
# HSMEGDAWgBQjNPjZUkZwCu1A+3b7syuwwzWzDzBUBgNVHR8ETTBLMEmgR6BFhkNo
# dHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNyb3Nv
# ZnRUaW1lU3RhbXBQQ0EuY3JsMFgGCCsGAQUFBwEBBEwwSjBIBggrBgEFBQcwAoY8
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNyb3NvZnRUaW1l
# U3RhbXBQQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEBBQUA
# A4IBAQAgU4KQrqZNTn4zScizrcTDfhXQEvIPJ4p/W78+VOpB6VQDKym63VSIu7n3
# 2c5T7RAWPclGcLQA0fI0XaejIiyqIuFrob8PDYfQHgIb73i2iSDQLKsLdDguphD/
# 2pGrLEA8JhWqrN7Cz0qTA81r4qSymRpdR0Tx3IIf5ki0pmmZwS7phyPqCNJp5mLf
# cfHrI78hZfmkV8STLdsWeBWqPqLkhfwXvsBPFduq8Ki6ESus+is1Fm5bc/4w0Pur
# k6DezULaNj+R9+A3jNkHrTsnu/9UIHfG/RHpGuZpsjMnqwWuWI+mqX9dEhFoDCyj
# MRYNviGrnPCuGnxA1daDFhXYKPvlMIIE7DCCA9SgAwIBAgITMwAAAMps1TISNcTh
# VQABAAAAyjANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
# QTAeFw0xNDA0MjIxNzM5MDBaFw0xNTA3MjIxNzM5MDBaMIGDMQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQD
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
# ggEKAoIBAQCWcV3tBkb6hMudW7dGx7DhtBE5A62xFXNgnOuntm4aPD//ZeM08aal
# IV5WmWxY5JKhClzC09xSLwxlmiBhQFMxnGyPIX26+f4TUFJglTpbuVildGFBqZTg
# rSZOTKGXcEknXnxnyk8ecYRGvB1LtuIPxcYnyQfmegqlFwAZTHBFOC2BtFCqxWfR
# +nm8xcyhcpv0JTSY+FTfEjk4Ei+ka6Wafsdi0dzP7T00+LnfNTC67HkyqeGprFVN
# TH9MVsMTC3bxB/nMR6z7iNVSpR4o+j0tz8+EmIZxZRHPhckJRIbhb+ex/KxARKWp
# iyM/gkmd1ZZZUBNZGHP/QwytK9R/MEBnAgMBAAGjggFgMIIBXDATBgNVHSUEDDAK
# BggrBgEFBQcDAzAdBgNVHQ4EFgQUH17iXVCNVoa+SjzPBOinh7XLv4MwUQYDVR0R
# BEowSKRGMEQxDTALBgNVBAsTBE1PUFIxMzAxBgNVBAUTKjMxNTk1K2I0MjE4ZjEz
# LTZmY2EtNDkwZi05YzQ3LTNmYzU1N2RmYzQ0MDAfBgNVHSMEGDAWgBTLEejK0rQW
# WAHJNy4zFha5TJoKHzBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNDb2RTaWdQQ0FfMDgtMzEtMjAx
# MC5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BDQV8wOC0zMS0yMDEwLmNy
# dDANBgkqhkiG9w0BAQUFAAOCAQEAd1zr15E9zb17g9mFqbBDnXN8F8kP7Tbbx7Us
# G177VAU6g3FAgQmit3EmXtZ9tmw7yapfXQMYKh0nfgfpxWUftc8Nt1THKDhaiOd7
# wRm2VjK64szLk9uvbg9dRPXUsO8b1U7Brw7vIJvy4f4nXejF/2H2GdIoCiKd381w
# gp4YctgjzHosQ+7/6sDg5h2qnpczAFJvB7jTiGzepAY1p8JThmURdwmPNVm52Iao
# AP74MX0s9IwFncDB1XdybOlNWSaD8cKyiFeTNQB8UCu8Wfz+HCk4gtPeUpdFKRhO
# lludul8bo/EnUOoHlehtNA04V9w3KDWVOjic1O1qhV0OIhFeezCCBbwwggOkoAMC
# AQICCmEzJhoAAAAAADEwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixkARkW
# A2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9z
# b2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDgzMTIyMTkzMloX
# DTIwMDgzMTIyMjkzMloweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EwggEiMA0G
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCycllcGTBkvx2aYCAgQpl2U2w+G9Zv
# zMvx6mv+lxYQ4N86dIMaty+gMuz/3sJCTiPVcgDbNVcKicquIEn08GisTUuNpb15
# S3GbRwfa/SXfnXWIz6pzRH/XgdvzvfI2pMlcRdyvrT3gKGiXGqelcnNW8ReU5P01
# lHKg1nZfHndFg4U4FtBzWwW6Z1KNpbJpL9oZC/6SdCnidi9U3RQwWfjSjWL9y8lf
# RjFQuScT5EAwz3IpECgixzdOPaAyPZDNoTgGhVxOVoIoKgUyt0vXT2Pn0i1i8UU9
# 56wIAPZGoZ7RW4wmU+h6qkryRs83PDietHdcpReejcsRj1Y8wawJXwPTAgMBAAGj
# ggFeMIIBWjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTLEejK0rQWWAHJNy4z
# Fha5TJoKHzALBgNVHQ8EBAMCAYYwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEE
# AYI3FQIEFgQU/dExTtMmipXhmGA7qDFvpjy82C0wGQYJKwYBBAGCNxQCBAweCgBT
# AHUAYgBDAEEwHwYDVR0jBBgwFoAUDqyCYEBWJ5flJRP8KuEKU5VZ5KQwUAYDVR0f
# BEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJv
# ZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEBBEgwRjBEBggr
# BgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNy
# b3NvZnRSb290Q2VydC5jcnQwDQYJKoZIhvcNAQEFBQADggIBAFk5Pn8mRq/rb0Cx
# MrVq6w4vbqhJ9+tfde1MOy3XQ60L/svpLTGjI8x8UJiAIV2sPS9MuqKoVpzjcLu4
# tPh5tUly9z7qQX/K4QwXaculnCAt+gtQxFbNLeNK0rxw56gNogOlVuC4iktX8pVC
# nPHz7+7jhh80PLhWmvBTI4UqpIIck+KUBx3y4k74jKHK6BOlkU7IG9KPcpUqcW2b
# Gvgc8FPWZ8wi/1wdzaKMvSeyeWNWRKJRzfnpo1hW3ZsCRUQvX/TartSCMm78pJUT
# 5Otp56miLL7IKxAOZY6Z2/Wi+hImCWU4lPF6H0q70eFW6NB4lhhcyTUWX92THUmO
# Lb6tNEQc7hAVGgBd3TVbIc6YxwnuhQ6MT20OE049fClInHLR82zKwexwo1eSV32U
# jaAbSANa98+jZwp0pTbtLS8XyOZyNxL0b7E8Z4L5UrKNMxZlHg6K3RDeZPRvzkbU
# 0xfpecQEtNP7LN8fip6sCvsTJ0Ct5PnhqX9GuwdgR2VgQE6wQuxO7bN2edgKNAlt
# HIAxH+IOVN3lofvlRxCtZJj/UBYufL8FIXrilUEnacOTj5XJjdibIa4NXJzwoq6G
# aIMMai27dmsAHZat8hZ79haDJLmIz2qoRzEvmtzjcT3XAH5iR9HOiMm4GPoOco3B
# oz2vAkBq/2mbluIQqBC0N1AI1sM9MIIGBzCCA++gAwIBAgIKYRZoNAAAAAAAHDAN
# BgkqhkiG9w0BAQUFADBfMRMwEQYKCZImiZPyLGQBGRYDY29tMRkwFwYKCZImiZPy
# LGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp
# Y2F0ZSBBdXRob3JpdHkwHhcNMDcwNDAzMTI1MzA5WhcNMjEwNDAzMTMwMzA5WjB3
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhN
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
# ggEKAoIBAQCfoWyx39tIkip8ay4Z4b3i48WZUSNQrc7dGE4kD+7Rp9FMrXQwIBHr
# B9VUlRVJlBtCkq6YXDAm2gBr6Hu97IkHD/cOBJjwicwfyzMkh53y9GccLPx754gd
# 6udOo6HBI1PKjfpFzwnQXq/QsEIEovmmbJNn1yjcRlOwhtDlKEYuJ6yGT1VSDOQD
# LPtqkJAwbofzWTCd+n7Wl7PoIZd++NIT8wi3U21StEWQn0gASkdmEScpZqiX5NMG
# gUqi+YSnEUcUCYKfhO1VeP4Bmh1QCIUAEDBG7bfeI0a7xC1Un68eeEExd8yb3zuD
# k6FhArUdDbH895uyAc4iS1T/+QXDwiALAgMBAAGjggGrMIIBpzAPBgNVHRMBAf8E
# BTADAQH/MB0GA1UdDgQWBBQjNPjZUkZwCu1A+3b7syuwwzWzDzALBgNVHQ8EBAMC
# AYYwEAYJKwYBBAGCNxUBBAMCAQAwgZgGA1UdIwSBkDCBjYAUDqyCYEBWJ5flJRP8
# KuEKU5VZ5KShY6RhMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/Is
# ZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmlj
# YXRlIEF1dGhvcml0eYIQea0WoUqgpa1Mc1j0BxMuZTBQBgNVHR8ESTBHMEWgQ6BB
# hj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9taWNy
# b3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEESDBGMEQGCCsGAQUFBzAChjho
# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFJvb3RD
# ZXJ0LmNydDATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQUFAAOCAgEA
# EJeKw1wDRDbd6bStd9vOeVFNAbEudHFbbQwTq86+e4+4LtQSooxtYrhXAstOIBNQ
# md16QOJXu69YmhzhHQGGrLt48ovQ7DsB7uK+jwoFyI1I4vBTFd1Pq5Lk541q1YDB
# 5pTyBi+FA+mRKiQicPv2/OR4mS4N9wficLwYTp2OawpylbihOZxnLcVRDupiXD8W
# mIsgP+IHGjL5zDFKdjE9K3ILyOpwPf+FChPfwgphjvDXuBfrTot/xTUrXqO/67x9
# C0J71FNyIe4wyrt4ZVxbARcKFA7S2hSY9Ty5ZlizLS/n+YWGzFFW6J1wlGysOUzU
# 9nm/qhh6YinvopspNAZ3GmLJPR5tH4LwC8csu89Ds+X57H2146SodDW4TsVxIxIm
# dgs8UoxxWkZDFLyzs7BNZ8ifQv+AeSGAnhUwZuhCEl4ayJ4iIdBD6Svpu/RIzCzU
# 2DKATCYqSCRfWupW76bemZ3KOm+9gSd0BhHudiG/m4LBJ1S2sWo9iaF2YbRuoROm
# v6pH8BJv/YoybLL+31HIjCPJZr2dHYcSZAI9La9Zj7jkIeW1sMpjtHhUBdRBLlCs
# lLCleKuzoJZ1GtmShxN1Ii8yqAhuoFuMJb+g74TKIdbrHk/Jmu5J4PcBZW+JC33I
# acjmbuqnl84xKf8OxVtc2E0bodj6L54/LlUWa8kTo/0xggTIMIIExAIBATCBkDB5
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN
# aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQQITMwAAAMps1TISNcThVQABAAAAyjAJ
# BgUrDgMCGgUAoIHhMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB
# gjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBRRBMx7lzrmFHTD
# FOnHF79/U4hcUzCBgAYKKwYBBAGCNwIBDDFyMHCgUoBQAEUAbgB0AGkAdAB5ACAA
# RgByAGEAbQBlAHcAbwByAGsAIABUAG8AbwBsAHMAIABmAG8AcgAgAFYAaQBzAHUA
# YQBsACAAUwB0AHUAZABpAG+hGoAYaHR0cDovL21zZG4uY29tL2RhdGEvZWYgMA0G
# CSqGSIb3DQEBAQUABIIBAEd5PEhtVawenxHsuUSbbOUgAVuGOnlVja6G8O5u3I5v
# AcWqJtbqOKUkXc9HxAUMgu5cC/o9n8A7LF7T5xptiXXcxURfe4fmeJK9joz/XPRw
# lYLOevzn9GRfWSbJ/AtSOnjj1PKCtQ8SZq88iKnJ8SrjKF4Nu3TQR/wVR/k3SU0H
# 80Rm4lSJdt9NLxkYljaU8volXVDv9SoxDlplkGdePSbDUx3PWD7y5UVeHb94Z+aQ
# 8p/FuvncjarLeefLhOwEFfJRhCKvofgw2zJqA3q+m42uiuO0ndqbyp8HVc6kcMUu
# jS//9eYvnLP7UY1ApfiBLRPgEgTGSx/soOI2qXDjHiShggIoMIICJAYJKoZIhvcN
# AQkGMYICFTCCAhECAQEwgY4wdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBAhMzAAAA
# Wu0v9OQgmT86AAAAAABaMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI
# hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNTAzMDIxNzI5NThaMCMGCSqGSIb3DQEJ
# BDEWBBQXVgYJisiba3bvHeGxFzocarwSvzANBgkqhkiG9w0BAQUFAASCAQBwjV/u
# vAXQsEgY0oeyfvDyZCXIBSMgSZ4sbxAFu7ZGisn3L51Q/wWulmoPr7YiAmUkxRgU
# WL7hukD/WrR/iNwUToPwz9VTxZbz+i7Cjw5tpG+nL8ByWxyhEiWNDSGHUaU+THMr
# d2Y3mJs9u8E8sjNqHE8Vf7FzmjVn5dMrOASBmqTdXPwJP2Pm2gYta6zkss9j5N3Q
# MLwNDUrZ0FKtGimpe1zoI6Fan4YBKMILOL9xCqMcVMhoITM7s+tnRlngDVFxxKyN
# 1Mnr9ITkdiMIpbWn8s0nr/UsHRltjyPyjtfIvgiFgKLxnw87sHnloEAbksaLqlbX
# 6d/6I/2PpumqJR3c
# SIG # End signature block
TOPIC
TOPIC
about_EntityFramework
SHORT DESCRIPTION
Provides information about Entity Framework commands.
LONG DESCRIPTION
This topic describes the Entity Framework commands. Entity Framework is
Microsoft's recommended data access technology for new applications.
The following Entity Framework cmdlets are used with Entity Framework
Migrations.
Cmdlet Description
----------------- ---------------------------------------------------
Enable-Migrations Enables Code First Migrations in a project.
Add-Migration Scaffolds a migration script for any pending model
changes.
Update-Database Applies any pending migrations to the database.
Get-Migrations Displays the migrations that have been applied to
the target database.
The following Entity Framework cmdlets are used by NuGet packages that
install Entity Framework providers. These commands are not usually used as
part of normal application development.
Cmdlet Description
------------------------------ ---------------------------------------
Add-EFProvider Adds or updates an Entity Framework
provider entry in the project config
file.
Add-EFDefaultConnectionFactory Adds or updates an Entity Framework
default connection factory in the
project config file.
Initialize-EFConfiguration Initializes the Entity Framework
section in the project config file and
sets defaults.
SEE ALSO
Enable-Migrations
Add-Migration
Update-Database
Get-Migrations
param($installPath, $toolsPath, $package, $project)
param($installPath, $toolsPath, $package, $project)
if (Get-Module | ?{ $_.Name -eq 'EntityFramework' })
{
Remove-Module EntityFramework
}
Import-Module (Join-Path $toolsPath EntityFramework.psd1)
# SIG # Begin signature block
# MIIa4AYJKoZIhvcNAQcCoIIa0TCCGs0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUjXj4E03IfImYfKMB4CA3DfY0
# KZmgghWCMIIEwzCCA6ugAwIBAgITMwAAAGJBL8dNiq4TJgAAAAAAYjANBgkqhkiG
# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMjEwMTgzMzM3
# WhcNMTYwNTEwMTgzMzM3WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
# OkMwRjQtMzA4Ni1ERUY4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzpcpEnjOg16e
# fCoOjWmTxe4NOad07kj+GNlAGb0eel7cppX64uGPcUvvOPSAmxheqTjM2PBEtHGN
# qjqD6M7STHM5hsVJ0dWsK+5KEY8IbIYHIxJJrNyF5rDLJ3lKlKFVo1mgn/oZM4cM
# CgfokLOayjIvyxuJIFrFbpO+nF+PhuI3MYT+lsHKdg2ErCNF0Y3KNvmDtP9XBiRK
# iGS7pVlKB4oaueB+94csweq7LXrUTrOcP8a6hRKzNqjR4pAcybwv508B4otK+jbX
# lmE2ldsEysu9mwjN1fyDVSnWheoGZiXw3pxG9FeeXsOkNLibTtUVrjkcohq6hvb7
# 7q4dco7enQIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFJsuiFXbFF3ayMLtg9j5aH6D
# oTnHMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
# hvcNAQEFBQADggEBAAytzvTw859N7K64VMzmnhXGV4ZOeMnn/AJgqOUGsIrVqmth
# oqscqKq9fSnj3QlC3kyXFID7S69GmvDfylA/mu6HSe0mytg8svbYu7p6arQWe8q1
# 2kdagS1kFPBqUySyEx5pdI0r+9WejW98lNiY4PNgoqdvFZaU4fp1tsbJ8f6rJZ7U
# tVCLOYHbDvlhU0LjKpbCgZ0VlR4Kk1SUuclxtIVETpHS5ToC1EzQRIGLsvkOxg7p
# Kf/MkuGM4R4dYIVZpPQYLeTb0o0hdnXXez1za9a9zaa/imKXyiV53z1loGFVVYqH
# AnYnCMw5M16oWdKeG7OaT+qFQL5aK0SaoZSHpuswggTsMIID1KADAgECAhMzAAAA
# ymzVMhI1xOFVAAEAAADKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBMB4XDTE0MDQyMjE3MzkwMFoXDTE1MDcyMjE3MzkwMFowgYMxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJZxXe0GRvqEy51bt0bHsOG0ETkDrbEVc2Cc66e2bho8
# P/9l4zTxpqUhXlaZbFjkkqEKXMLT3FIvDGWaIGFAUzGcbI8hfbr5/hNQUmCVOlu5
# WKV0YUGplOCtJk5MoZdwSSdefGfKTx5xhEa8HUu24g/FxifJB+Z6CqUXABlMcEU4
# LYG0UKrFZ9H6ebzFzKFym/QlNJj4VN8SOTgSL6RrpZp+x2LR3M/tPTT4ud81MLrs
# eTKp4amsVU1Mf0xWwxMLdvEH+cxHrPuI1VKlHij6PS3Pz4SYhnFlEc+FyQlEhuFv
# 57H8rEBEpamLIz+CSZ3VlllQE1kYc/9DDK0r1H8wQGcCAwEAAaOCAWAwggFcMBMG
# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBQfXuJdUI1Whr5KPM8E6KeHtcu/
# gzBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
# YjQyMThmMTMtNmZjYS00OTBmLTljNDctM2ZjNTU3ZGZjNDQwMB8GA1UdIwQYMBaA
# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQB3XOvXkT3NvXuD2YWpsEOdc3wX
# yQ/tNtvHtSwbXvtUBTqDcUCBCaK3cSZe1n22bDvJql9dAxgqHSd+B+nFZR+1zw23
# VMcoOFqI53vBGbZWMrrizMuT269uD11E9dSw7xvVTsGvDu8gm/Lh/idd6MX/YfYZ
# 0igKIp3fzXCCnhhy2CPMeixD7v/qwODmHaqelzMAUm8HuNOIbN6kBjWnwlOGZRF3
# CY81WbnYhqgA/vgxfSz0jAWdwMHVd3Js6U1ZJoPxwrKIV5M1AHxQK7xZ/P4cKTiC
# 095Sl0UpGE6WW526Xxuj8SdQ6geV6G00DThX3DcoNZU6OJzU7WqFXQ4iEV57MIIF
# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBMgwggTE
# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAymzVMhI1xOFV
# AAEAAADKMAkGBSsOAwIaBQCggeEwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFOrT
# ZEbL6mMRie0QxeNrtIXxNuY6MIGABgorBgEEAYI3AgEMMXIwcKBSgFAARQBuAHQA
# aQB0AHkAIABGAHIAYQBtAGUAdwBvAHIAawAgAFQAbwBvAGwAcwAgAGYAbwByACAA
# VgBpAHMAdQBhAGwAIABTAHQAdQBkAGkAb6EagBhodHRwOi8vbXNkbi5jb20vZGF0
# YS9lZiAwDQYJKoZIhvcNAQEBBQAEggEAgp8YIEwXo8d1C2hJS1OX9nLxFHxKTtF9
# n3gnMoqyQ9Cq8nqapIG3LIn8gEzfUgeV3sWhZ4FsZENCqIo/bTWITq7vP5IOT1eb
# eGP0iudpum8ajts8gxWBdqQRf7+qq1TnU6knpCppn2hFwp/5qsGIMCfqaj0sqIg4
# cswc5e443uOMXK6viAjC9ZzeLGH4HZX5eK3DnKsUsqT3dHC/aKhbvITK+pw2f5bP
# rTRjCXMmXoVs5xMcmz0jEMu5d59yFJDGk9b02FqojlvdJ/sYvMPGpAkEmPkOygwW
# /kmuemZ6sggDQKPs2trsWGa836uWYTucgQ/f+9Di+FgDc/boMGysr6GCAigwggIk
# BgkqhkiG9w0BCQYxggIVMIICEQIBATCBjjB3MQswCQYDVQQGEwJVUzETMBEGA1UE
# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
# b2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQ
# Q0ECEzMAAABiQS/HTYquEyYAAAAAAGIwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJ
# AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MDMwMjE3Mjk1OFowIwYJ
# KoZIhvcNAQkEMRYEFKxtHfNR1GPWPqo0yuBPiJ3WZNX2MA0GCSqGSIb3DQEBBQUA
# BIIBAAwIulYLc715s8FIBZzA3zKD9IKqlhrzpTNBY014mi1pwl2sMpKyA/xAH4Gj
# eyo4wzSR7PT2BsYEHElYh7tx/eC45rI2mYIFqfsyqbRBxRfWQCb3pb42kix/RUJ+
# ElTkwy7SG6c04KA8Yi/Z3uOxxlBCWfXWupHQMpIsdVI1s/v65Tn3TNyBLtPu507q
# CNcYfok3IIhcvQCd7vCUK2fnJsuLxbFFqqKoMft10iqAROREkXEhfcyLOUt4BrMh
# KN2ygSFPCIbFAGvmS84oq8p4FzJAFUL9rE8qzxzXrbEA4UglDj72mW6nXmXaHiOZ
# J+2fE3M9xcMV3gKEuSL/DiQhPaI=
# SIG # End signature block
param($installPath, $toolsPath, $package, $project)
param($installPath, $toolsPath, $package, $project)
Initialize-EFConfiguration $project
Add-EFProvider $project 'System.Data.SqlClient' 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'
Write-Host
Write-Host "Type 'get-help EntityFramework' to see all available Entity Framework commands."
# SIG # Begin signature block
# MIIa4AYJKoZIhvcNAQcCoIIa0TCCGs0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUt8mwpdjiFmu2B4KBh+vEeQ+V
# VnSgghWCMIIEwzCCA6ugAwIBAgITMwAAAGJBL8dNiq4TJgAAAAAAYjANBgkqhkiG
# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMjEwMTgzMzM3
# WhcNMTYwNTEwMTgzMzM3WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
# OkMwRjQtMzA4Ni1ERUY4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzpcpEnjOg16e
# fCoOjWmTxe4NOad07kj+GNlAGb0eel7cppX64uGPcUvvOPSAmxheqTjM2PBEtHGN
# qjqD6M7STHM5hsVJ0dWsK+5KEY8IbIYHIxJJrNyF5rDLJ3lKlKFVo1mgn/oZM4cM
# CgfokLOayjIvyxuJIFrFbpO+nF+PhuI3MYT+lsHKdg2ErCNF0Y3KNvmDtP9XBiRK
# iGS7pVlKB4oaueB+94csweq7LXrUTrOcP8a6hRKzNqjR4pAcybwv508B4otK+jbX
# lmE2ldsEysu9mwjN1fyDVSnWheoGZiXw3pxG9FeeXsOkNLibTtUVrjkcohq6hvb7
# 7q4dco7enQIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFJsuiFXbFF3ayMLtg9j5aH6D
# oTnHMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
# hvcNAQEFBQADggEBAAytzvTw859N7K64VMzmnhXGV4ZOeMnn/AJgqOUGsIrVqmth
# oqscqKq9fSnj3QlC3kyXFID7S69GmvDfylA/mu6HSe0mytg8svbYu7p6arQWe8q1
# 2kdagS1kFPBqUySyEx5pdI0r+9WejW98lNiY4PNgoqdvFZaU4fp1tsbJ8f6rJZ7U
# tVCLOYHbDvlhU0LjKpbCgZ0VlR4Kk1SUuclxtIVETpHS5ToC1EzQRIGLsvkOxg7p
# Kf/MkuGM4R4dYIVZpPQYLeTb0o0hdnXXez1za9a9zaa/imKXyiV53z1loGFVVYqH
# AnYnCMw5M16oWdKeG7OaT+qFQL5aK0SaoZSHpuswggTsMIID1KADAgECAhMzAAAA
# ymzVMhI1xOFVAAEAAADKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBMB4XDTE0MDQyMjE3MzkwMFoXDTE1MDcyMjE3MzkwMFowgYMxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJZxXe0GRvqEy51bt0bHsOG0ETkDrbEVc2Cc66e2bho8
# P/9l4zTxpqUhXlaZbFjkkqEKXMLT3FIvDGWaIGFAUzGcbI8hfbr5/hNQUmCVOlu5
# WKV0YUGplOCtJk5MoZdwSSdefGfKTx5xhEa8HUu24g/FxifJB+Z6CqUXABlMcEU4
# LYG0UKrFZ9H6ebzFzKFym/QlNJj4VN8SOTgSL6RrpZp+x2LR3M/tPTT4ud81MLrs
# eTKp4amsVU1Mf0xWwxMLdvEH+cxHrPuI1VKlHij6PS3Pz4SYhnFlEc+FyQlEhuFv
# 57H8rEBEpamLIz+CSZ3VlllQE1kYc/9DDK0r1H8wQGcCAwEAAaOCAWAwggFcMBMG
# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBQfXuJdUI1Whr5KPM8E6KeHtcu/
# gzBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
# YjQyMThmMTMtNmZjYS00OTBmLTljNDctM2ZjNTU3ZGZjNDQwMB8GA1UdIwQYMBaA
# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQB3XOvXkT3NvXuD2YWpsEOdc3wX
# yQ/tNtvHtSwbXvtUBTqDcUCBCaK3cSZe1n22bDvJql9dAxgqHSd+B+nFZR+1zw23
# VMcoOFqI53vBGbZWMrrizMuT269uD11E9dSw7xvVTsGvDu8gm/Lh/idd6MX/YfYZ
# 0igKIp3fzXCCnhhy2CPMeixD7v/qwODmHaqelzMAUm8HuNOIbN6kBjWnwlOGZRF3
# CY81WbnYhqgA/vgxfSz0jAWdwMHVd3Js6U1ZJoPxwrKIV5M1AHxQK7xZ/P4cKTiC
# 095Sl0UpGE6WW526Xxuj8SdQ6geV6G00DThX3DcoNZU6OJzU7WqFXQ4iEV57MIIF
# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBMgwggTE
# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAymzVMhI1xOFV
# AAEAAADKMAkGBSsOAwIaBQCggeEwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFJiz
# f4JawBv4s6ihwSKoeZTRDcAvMIGABgorBgEEAYI3AgEMMXIwcKBSgFAARQBuAHQA
# aQB0AHkAIABGAHIAYQBtAGUAdwBvAHIAawAgAFQAbwBvAGwAcwAgAGYAbwByACAA
# VgBpAHMAdQBhAGwAIABTAHQAdQBkAGkAb6EagBhodHRwOi8vbXNkbi5jb20vZGF0
# YS9lZiAwDQYJKoZIhvcNAQEBBQAEggEAFy52TLBcmieavvWab1nArTK05hXGrx+n
# qn/Aq3b4WpCD3Kotg6ZcmMDgFoBR3CCxOi8DzXowNjnX4aGMnUgGR8oczgU0DVRN
# 6e9fIaYthchMgS/bDZEyPZ39H2mSuNPkM4rBiB5K0CkQQgjwEKYCRImwSlnBu0jY
# nH1J/jF0RnYFZ1uxmY8jpWA/km5kj3fSTwC8CPn24I6H520Cka0CiBGl6iNLRAK+
# rOokn9Ymw9dbttXINl8WpNCBIR6XBAgBhlyJa6JmTceoXZvIGu1h8KVCWwDv+lKT
# uRLEKWdVQ5cgNth3csHOUQnBC5FN6TxY9dqozIwcjNUwwOOsqrEW5KGCAigwggIk
# BgkqhkiG9w0BCQYxggIVMIICEQIBATCBjjB3MQswCQYDVQQGEwJVUzETMBEGA1UE
# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
# b2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQ
# Q0ECEzMAAABiQS/HTYquEyYAAAAAAGIwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJ
# AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MDMwMjE3Mjk1OFowIwYJ
# KoZIhvcNAQkEMRYEFAMe6WzqHaLPBigGoS/gaG25ANUpMA0GCSqGSIb3DQEBBQUA
# BIIBAGFxF739EOC9CNxIDxocqE2PugMRxvX1rrmsvfwnrhaZmL9XqeWgsS8SqJq3
# GOASzoTwvkyAE9qavr0o34a84HDSVbapNEribsu6ILaZpd0ucFGbk4L3QcSODtvH
# XZuCh0cl3ohJT8ShQBNmN9TkqlhnP9AYWcoNaefJkozg7xc3m/CsGkcbSHNk0Bvm
# IF1zG1axnKwNFXopJLnbqxqajBcH3VaCTo9cEshs9qaUy2NZ4RZJztYnnBQsGvv8
# go2qsBgLcALFpVHrSX6yKuH8XVwR+lHofY7nZHs0TLi55SFbpJK+53BCWeH4OK85
# wQ6quf2TAX7dc3ct2zrY3TWhf7Q=
# SIG # End signature block
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<configuration>
<configuration>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
</configuration>
\ No newline at end of file
<configuration>
<configuration>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
</configuration>
\ No newline at end of file
<configuration>
<configuration>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
</configuration>
\ No newline at end of file
<configuration>
<configuration>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
</configuration>
\ No newline at end of file
<?xml version="1.0"?>
<?xml version="1.0"?>
<doc>
<assembly>
<name>MySql.Data.Entity.EF6</name>
</assembly>
<members>
<member name="T:MySql.Data.Entity.SqlFragmentVisitor">
<summary>
Visitor for SqlFragment and derived classes, useful for postprocessing and optimizations.
</summary>
</member>
<member name="T:MySql.Data.Entity.ReplaceTableNameVisitor">
<summary>
Visitor to replace old table names with new table names. Used as part postprocessing of the code for fusing nested selects.
</summary>
</member>
<member name="T:MySql.Data.Entity.OpType">
<summary>
Specifies the operation types supported.
</summary>
</member>
<member name="M:MySql.Data.Entity.SelectGenerator.TryFlatteningGroupBy(MySql.Data.Entity.SqlFragment)">
<summary>
If input sqlFragment is a group by structure, is flattened to remove some nested correlation queries.
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:MySql.Data.Entity.SqlGenerator.TryFusingSelect(MySql.Data.Entity.InputFragment)">
<summary>
If current fragment is select and its from clause is another select, try fuse the inner select with the outer select.
(Thus removing a nested query, which may have bad performance in Mysql).
</summary>
<param name="f">The fragment to probe and posibly optimize</param>
<returns>The fragment fused, or the original one.</returns>
</member>
<member name="M:MySql.Data.Entity.SqlGenerator.TryPromoteToLike(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
<summary>
Examines a binary expression to see if it is an special case suitable to conversion
to a more efficient and equivalent LIKE sql expression.
</summary>
<param name="left"></param>
<param name="right"></param>
<param name="op"></param>
<returns></returns>
</member>
<member name="T:MySql.Data.Entity.MySqlConnectionFactory">
<summary>
Used for creating connections in Code First 4.3.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlDependencyResolver">
<summary>
Provides the capability to resolve a dependency.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetService(System.Type,System.Object)">
<summary>
Attempts to resolve a dependency for a given contract type and optionally a given key.
</summary>
<param name="type">The base class that defines the dependency to be resolved.</param>
<param name="key">Optionally, the key of the dependency to be resolved.</param>
<returns>The resolved dependency.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetServices(System.Type,System.Object)">
<summary>
Attempts to resolve a dependency for all of the registered services with the given type and key combination.
</summary>
<param name="type">The base class that defines the dependency to be resolved.</param>
<param name="key">Optionally, the key of the dependency to be resolved.</param>
<returns>All services that resolve the dependency.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlProviderInvariantName">
<summary>
Used to resolve a provider invariant name from a provider factory.
</summary>
</member>
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.Name">
<summary>
Gets the name of the provider.
</summary>
</member>
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.ProviderName">
<summary>
Gets the name of the provider.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlProviderFactoryResolver">
<summary>
Service that obtains the provider factory from a given connection.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlProviderFactoryResolver.ResolveProviderFactory(System.Data.Common.DbConnection)">
<summary>
Returns the <see cref="T:System.Data.Common.DbProviderFactory"/> for the given connection.
</summary>
<param name="connection">The database connection.</param>
<returns>The provider factory for the connection.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlManifestTokenResolver">
<summary>
Gets a provider manifest token for the given connection.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlManifestTokenResolver.ResolveManifestToken(System.Data.Common.DbConnection)">
<summary>
Returns the manifest token to use for the given connection.
</summary>
<param name="connection">The connection for which a manifest token is required.</param>
<returns>The manifest token to use.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlModelCacheKey">
<summary>
Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.Equals(System.Object)">
<summary>
Determines whether the current cached model key is equal to the specified cached
model key.
</summary>
<param name="other">The cached model key to compare to the current cached model key.</param>
<returns><c>true</c> if the current cached model key is equal to the specified cached model key;
otherwise, <c>false</c>.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.GetHashCode">
<summary>
Returns the hash function for this cached model key.
</summary>
<returns>The hash function for this cached model key.</returns>
</member>
<member name="T:MySql.Data.Entity.MySqlEFConfiguration">
<summary>
Defines the configuration of an application to be used with Entity Framework.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlEFConfiguration.#ctor">
<summary>
Initializes a new instance of <see cref="T:MySql.Data.Entity.MySqlEFConfiguration"/> class.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlExecutionStrategy">
<summary>
An execution strategy tailored for handling MySql Server transient errors.
</summary>
</member>
<member name="F:MySql.Data.Entity.MySqlExecutionStrategy.errorsToRetryOn">
<summary>
Different back off algorithms used for different errors.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithm">
<summary>
The base class for backoff algorithms.
</summary>
<remarks>Different transient error conditions require different approaches.</remarks>
</member>
<member name="M:MySql.Data.Entity.BackoffAlgorithm.GetNextDelay">
<summary>
The default implementation is an exponential delay backoff.
</summary>
<returns></returns>
</member>
<member name="M:MySql.Data.Entity.BackoffAlgorithm.Reset">
<summary>
Resets a backoff algorithm, so they can be reused.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1040">
<summary>
Back-off algorithm customized for the MySql error code 1040 - Too many connections.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1614">
<summary>
Back-off algorithm for the Mysql error code 1614 - Transaction branch was rolled back: deadlock was detected.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1205">
<summary>
Back-off algorithm customized for the MySql error code 1205 - Lock wait timeout exceeded; try restarting transaction.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1213">
<summary>
Back-off algorithm customized for MySql error code 1213 - Deadlock found when trying to get lock; try restarting transaction.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2006">
<summary>
Back-off algorithm customized for MySql error code 2006 - MySQL server has gone away.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2013">
<summary>
Back-off algorithm customized for MySql error code 2013 - Lost connection to MySQL server during query.
</summary>
</member>
<member name="T:MySql.Data.Entity.BackoffAlgorithmNdb">
<summary>
Back-off algorithm customized for MySql Cluster (NDB) errors.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlHistoryContext">
<summary>
Reads and writes migration history from the database during code first migrations.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlLogger">
<summary>
Enables the creation of MySQL logs for applications.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlMigrationCodeGenerator">
<summary>
Class used to customized code generation
to avoid dbo. prefix added on table names.
</summary>
</member>
<member name="T:MySql.Data.Entity.MySqlMigrationSqlGenerator">
<summary>
Implementation of a MySql's Sql generator for EF 4.3 data migrations.
</summary>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
<summary>
Generates a migration operation to add a column.
</summary>
<param name="op">The operation that represents a column being added to a table.</param>
<returns>A migration operation to add a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
<summary>
Generates a migration operation to drop a column.
</summary>
<param name="op">The operation that represents a column being dropped from a table.</param>
<returns>The migration operation to drop a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
<summary>
Generates a migration operation to alter a column.
</summary>
<param name="op">The operation that represents altering an existing column.</param>
<returns>A migration operation to alter a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
<summary>
Generates a migration operation to rename a column.
</summary>
<param name="op">The operation that represents a column being renamed.</param>
<returns>A migration operation to rename a column.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
<summary>
Generates a migration operation to add a foreign key.
</summary>
<param name="op">the operation that represents a foreing key constraint being added to a table.</param>
<returns>A migration operation to add a foreign key constraint.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.ColumnModel)">
<summary>
Generates an SQL statement of a column model.
</summary>
<param name="op">The model that represents a column.</param>
<returns>A string containing an SQL statement of a column model.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
<summary>
Generates a migration operation to drop a foreign key constraint from a table.
</summary>
<param name="op">The operation that represents a foreign key being added from a table.</param>
<returns>A migration operation to drop a foreign key.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
<summary>
Generates a migration operation to create a database index.
</summary>
<param name="op">The operation that represents creating a database index.</param>
<returns>A migration operation to create a database index.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
<summary>
Generates a migration operation to drop an existing database index.
</summary>
<param name="op">The operation that represents dropping am existing database index.</param>
<returns>A migration operation to drop an existing database index.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
<summary>
Generates a migration operation to create a table.
</summary>
<param name="op">The operation that represents creating a table.</param>
<returns>A migration operation to create a table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
<summary>
Generates a migration operation to drop an existing table.
</summary>
<param name="op">The operation that represents dropping an existing table.</param>
<returns>A migration operation to drop an existing table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
<summary>
Generates a migration operation to add a primary key to a table.
</summary>
<param name="op">The operation that represents adding a primary key to a table.</param>
<returns>A migration operation to add a primary key to a table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
<summary>
Generates a migration operation to drpo an existing primary key.
</summary>
<param name="op">The operation that represents dropping an existing primary key.</param>
<returns>A migration operation to drop an existing primary key.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
<summary>
Generates a migration operation to rename an existing table.
</summary>
<param name="op">The operation that represents renaming an existing table.</param>
<returns>A migration operation to rename an existing table.</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
<summary>
Not implemented yet.
</summary>
<param name="op">NA</param>
<returns>NA</returns>
</member>
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
<summary>
Generates a migration operation with a MySQL statement to be executed.
</summary>
<param name="op">The operation representing a MySQL statement to be executed directly against the database.</param>
<returns>A migration operation with a MySQL statement to be executed.</returns>
</member>
<member name="T:MySql.Data.Entity.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.ConnectionMustBeOfTypeMySqlConnection">
<summary>
Looks up a localized string similar to The connection parameter must reference an object of type MySql.Data.MySqlConnection.
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.NoStoreTypeForEdmType">
<summary>
Looks up a localized string similar to There is no store type corresponding to the EDM type &apos;{0}&apos; of primitive type &apos;{1}&apos;..
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.TypeNotSupported">
<summary>
Looks up a localized string similar to The underlying provider does not support the type &apos;{0}&apos;..
</summary>
</member>
<member name="P:MySql.Data.Entity.Properties.Resources.WrongFunctionResultType">
<summary>
Looks up a localized string similar to Result type of a function is expected to be a collection of RowType or PrimitiveType.
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetQueryExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types for a given query command tree
</summary>
</member>
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetFunctionExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbFunctionCommandTree,MySql.Data.Entity.EFMySqlCommand)">
<summary>
Sets the expected column types for a given function command tree
</summary>
</member>
</members>
</doc>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment