none
stored procedure não integra-se a model1.edmx RRS feed

  • Pergunta

  • Ao adicional Model1 na aplicação a Stored Procedure nao é importada para a aplicação, alguma sugestão:

    ALTER PROCEDURE [dbo].[spIdadeEmocional]
    
    AS 
    BEGIN
    
    DECLARE @DataAtual DATE;          
    SET @DataAtual = GETDATE();
    
    IF ( OBJECT_ID('TEMPDB..#TablePeriodos') IS NOT NULL )
        DROP TABLE #TablePeriodos;	
    
    CREATE TABLE #TablePeriodos
        (
          PeriodoDe INT NOT NULL ,
          PeriodoAte INT NULL ,
          Descricao  varchar(max)      
        );
     
     INSERT INTO #TablePeriodos
             ( PeriodoDe, PeriodoAte, Descricao )
     VALUES  ( 0, -- PeriodoDe - int
               14, -- PeriodoAte - int
               'Neonatal (nascimento aos 14 dias)'  -- Descricao - varchar(max)
               ),
    		     ( 15, -- PeriodoDe - int
               21, -- PeriodoAte - int
               'Transicao (15 a 21 dias)'  -- Descricao - varchar(max)
               ),
    		      ( 21, -- PeriodoDe - int
               28, -- PeriodoAte - int
               'Reconhecimento (21 a 28 dias)'  -- Descricao - varchar(max)
               ),
     
                   ( 21, -- PeriodoDe - int
               49, -- PeriodoAte - int
               'Socializacao com animais (21 a 49 dias)'  -- Descricao - varchar(max)
               ),
    		      ( 49, -- PeriodoDe - int
               84, -- PeriodoAte - int
               'Socializacao com humanos (49 dias a 3 meses)'  -- Descricao - varchar(max)
               ),
    		     ( 56, -- PeriodoDe - int
               77, -- PeriodoAte - int
               'Medo I(56 a 77 dias)'  -- Descricao - varchar(max)
               ),
    		     ( 91, -- PeriodoDe - int
               112, -- PeriodoAte - int
               'Rebeldia (91 dias a 4 meses)'  -- Descricao - varchar(max)
               ),
                 ( 120, -- PeriodoDe - int
               240, -- PeriodoAte - int
               'Surdez seletiva (4 a 8 meses)'  -- Descricao - varchar(max)
               ),
    		     ( 180, -- PeriodoDe - int
               420, -- PeriodoAte - int
               'Medo II (6 as 14 meses)'  -- Descricao - varchar(max)
               ),
    		       ( 365, -- PeriodoDe - int
               1460, -- PeriodoAte - int
               'Maturidade (1 a 4 anos)'  -- Descricao - varchar(max)
               ),
    		      ( 1461, -- PeriodoDe - int
               99999, -- PeriodoAte - int
               'Senior'  -- Descricao - varchar(max)
               )
    
    SELECT A.Nome ,
            @DataAtual AS dataAtual ,
            A.data_Nasc AS dataNasc,
            ( CONVERT(VARCHAR, DATEDIFF(YEAR, A.data_Nasc, @DataAtual))
              + ' anos' ) AS 'IdadeAnos' ,
            ( CONVERT(VARCHAR, DATEDIFF(MONTH, A.data_Nasc, @DataAtual))
              + ' meses' ) AS 'IdadeMeses' ,
            ( CONVERT(VARCHAR, DATEDIFF(SECOND, A.data_Nasc, @DataAtual) / 86400
              / 7) + ' semanas' ) AS 'IdadeSemanas' ,
            SUBSTRING(( SELECT  '/' + P.Descricao AS [text()]
                        FROM    #TablePeriodos P
                        WHERE   DATEDIFF(DAY, A.data_Nasc, @DataAtual) BETWEEN P.PeriodoDe
                                                                  AND
                                                                  P.PeriodoAte  
    															 
    															 
                      FOR
                        XML PATH('')
                      ), 2, 10000) AS 'PeriodoEmocional'
     FROM   dbo.Animal_Companhia A
     WHERE  A.num_CIA>0 OR A.num_CIA IS NULL
     ORDER BY A.data_Nasc;
    
     
    END


    • Editado Wilson Boris segunda-feira, 28 de novembro de 2016 14:02 complemento titulo
    segunda-feira, 28 de novembro de 2016 13:59

Todas as Respostas

  • 1)Como está sendo feita sua importação , é pelo wizard do Visual Studio ?

    2)já verificou a Connection String , se ela está apontando para o banco correto ??

    3) qual mensagem de erro dá?


    Wesley Neves

    segunda-feira, 28 de novembro de 2016 17:29
  • 1 e2)botão direito do mousse add Models Model1, banco correto com todas as tabelas e demais SP,  a única que não sobe é está. 

    3)não ocorre erro, simplesmente ela não aparece no rol model1.edmx.

    segunda-feira, 28 de novembro de 2016 17:35
  • Acredito que vc esteja usando o modo Design do Entity (aquele modo gráfico ) que monta o modelo de entidade relacionamento 

    quando vc adiciona a SP dentro do Entity ele não e mostrado nessa parte gráfica , mas vc pode executar ela só seu código assim

    using (Model1Entities  db = new Model1Entities  ())
                {
           var result =         db.spIdadeEmocional();
                }

    e também pode ser visto  aqui.

    Tela 1tela 2


    Wesley Neves

    segunda-feira, 28 de novembro de 2016 17:53
  • Exatamente esse o metodo e o estranho é isto ela não está subindo:

    segunda-feira, 28 de novembro de 2016 18:01
  • O VS de vez em quando gosta de dar um tapa.

    da uma olhada se vc está executando o VS no Modo Administrador,canto superior esquerdo

    2) se não for isso, crie um projeto console(para testar ) apenas para importar essa SP , o Código da sua SP eu importei aqui,sem problema, acredito que não seja ela o problema . se for necessário reinicia a maquina.


    Wesley Neves

    segunda-feira, 28 de novembro de 2016 18:21
  • Wesley, bota tapa nisso, kkk.

    O VS esta no modo administrador, correto?

    Criei um novo projeto e adicionei o banco, mas sem sucesso;

    Esse problema já esta comigo há algum tempo, então ligar e desligar é diariamente, kkk

     
    • Editado Wilson Boris segunda-feira, 28 de novembro de 2016 23:39 complemento
    segunda-feira, 28 de novembro de 2016 23:36
  • vc criou uma aplicação console consumir sua SP??

    Wesley Neves

    terça-feira, 29 de novembro de 2016 22:14
  • Aplicação console? 

    Wesley eu criei um novo projeto WebAplication1.sln e fiz os mesmos procedimentos. Aplicação console seria isto? kkkk 

    terça-feira, 29 de novembro de 2016 23:52
  • Isso ,e e ae conseguiu resolver ?

    se não ,posta a  versão do EF que fica no  App.Config, 


    Wesley Neves

    quarta-feira, 30 de novembro de 2016 11:27
  • Nada resolvido, kkk.

    Veja se é isso:

    WebConfig:

     <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      </configSections>

    packages.config:

      <package id="EntityFramework" version="5.0.0" targetFramework="net40" />

    quinta-feira, 1 de dezembro de 2016 09:45
  • Eu tentei retirar os comentários no código, mas sem sucesso, muito estranho a unica stored que não sobe:

    ALTER PROCEDURE [dbo].[spIdadeEmocional]
    
    AS 
    BEGIN
    
    DECLARE @DataAtual DATE;          
    SET @DataAtual = GETDATE();
    
    IF ( OBJECT_ID('TEMPDB..#TablePeriodos') IS NOT NULL )
        DROP TABLE #TablePeriodos;	
    
    CREATE TABLE #TablePeriodos
        (
          PeriodoDe INT NOT NULL ,
          PeriodoAte INT NULL ,
          Descricao  varchar(max)      
        ); 
     INSERT INTO #TablePeriodos(PeriodoDe, PeriodoAte, Descricao)
     VALUES  (0,14,'Neonatal (nascimento aos 14 dias)'),
    		 (15,21,'Transicao (15 a 21 dias)'),
    		 (21,28,'Reconhecimento (21 a 28 dias)'),
             (21,49,'Socializacao com animais (21 a 49 dias)'),
    		 (49,84,'Socializacao com humanos (49 dias a 3 meses)'),
    	     (56,77,'Medo I(56 a 77 dias)'),
    		 (91,112,'Rebeldia (91 dias a 4 meses)'),
             (120,240,'Surdez seletiva (4 a 8 meses)'),
    		 (180,420,'Medo II (6 as 14 meses)'),
    		 (365,1460,'Maturidade (1 a 4 anos)'),
    		 (1461,99999,'Senior'  
               )
    SELECT A.Nome ,
            @DataAtual AS dataAtual ,
            A.data_Nasc AS dataNasc,
            (CONVERT(VARCHAR, DATEDIFF(YEAR, A.data_Nasc, @DataAtual))+'anos') AS 'IdadeAnos',
            (CONVERT(VARCHAR, DATEDIFF(MONTH, A.data_Nasc, @DataAtual))+'meses') AS 'IdadeMeses',
            (CONVERT(VARCHAR, DATEDIFF(SECOND, A.data_Nasc, @DataAtual)/86400/7)+'semanas') AS 'IdadeSemanas',
            SUBSTRING(( SELECT  '/' + P.Descricao AS [text()]
                        FROM    #TablePeriodos P
                        WHERE   DATEDIFF(DAY, A.data_Nasc, @DataAtual) BETWEEN P.PeriodoDe
                                                                       AND     P.PeriodoAte  
    					FOR
                        XML PATH('')
                      ), 2, 10000) AS 'PeriodoEmocional'
     FROM   dbo.Animal_Companhia A
     WHERE  A.num_CIA>0 OR A.num_CIA IS NULL
     ORDER BY A.data_Nasc; 
    END

    segunda-feira, 5 de dezembro de 2016 13:08
  • Acredito que o problema não seja a SP, o problema deve estar no EF ,

    desculpa pela demora , mas notei que vc tem duas versões instaladas

    WebConfig:

     <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      </configSections>

    packages.config:

      <package id="EntityFramework" version="5.0.0" targetFramework="net40" />

    soluções alternativas

    1) atualize seu projeto para a versão 5.0 ou mais recente  acredito que vai funcionar.

    2) eu sei que não e a SP ,por que aqui na minha maquina está sua foi importada corretamente

    3) tenta importar outra SP,acredito que tambem vai dar o mesmo erro.

    4)posta a sua versão do VS e do Sql sever por favor

    5) Existe um forum especifico para aplicações , vc pode conseguir sua resposta lá

    5.1)https://social.msdn.microsoft.com/Forums/pt-BR/home?forum=aspnetpt

    5.2)https://social.msdn.microsoft.com/Forums/en-US/home?forum=adodotnetentityframework

    5.3)https://social.msdn.microsoft.com/Forums/en-US/home?forum=adonetefx


    Wesley Neves


    • Editado Wesley Neves segunda-feira, 5 de dezembro de 2016 14:03 complemento
    segunda-feira, 5 de dezembro de 2016 14:01
  • Obrigado Wesley, mas ainda não rolou.

    Eu postei no forum abaixo: 

     > 
    segunda-feira, 5 de dezembro de 2016 14:48