我试图使用EF6创建一个带有代码第一种方法的localdb。 EF是否会阻止达到最大尺寸(10G)?如果它确实达到了那么大的数据,EF会创建一个新的数据库吗?如果是这样,它是否会知道最初创建的localdb的旧实例?
这里的目标是能够在需要时创建单独的localdb实例,但也允许“查询”在这些单独的localdb实例之间交叉。这是通过C#中的连接字符串完成的,只是想知道我们是否可以利用EF。
答案 0 :(得分:1)
EF会阻止达到最大尺寸(10G)吗?
不,实体框架只提供对SQL-Server的访问。如果SQL Server会限制你,那么它将限制你,并且没有任何提供SQL Server访问权限的技术将覆盖它。
如果确实达到了那么大的数据,那么EF会创建一个新的数据库吗?
没有。关于SQL Server的想法是,如果你需要超过10GB的数据库,你应该使用标准版或更高版本。
此处的目标是能够在需要时创建单独的localdb实例,
这非常黑客,而且是一种非常糟糕的方法(在很多方面)。
但也允许"查询"在这些单独的localdb实例之间进行交叉。
据我所知,实体框架上下文只会查询单个连接字符串。
<强>总体强>
您似乎正在尝试将产品用于不打算用于的产品。 LocalDb旨在用于有限的数据库大小。如果您需要更多空间,我建议您选择SQL Server Standard或更高版本,或者选择其他没有限制的产品,以防止您需要做什么。
如果您决定沿着查询多个LocalDB实例的路线走下去,那么会遇到非常可怕的性能问题和技术问题。如果在多个实例中查询表Person
,则必须为每个实例运行该查询。然后,所述Person
的任何关系都将更难以管理。
我强烈建议你不要这样做,这是一个非常坏的想法